No se ha encontrado ninguna vista para id en Android FragmentActivity con ListFragment

Estoy intentando crear un ListView personalizado. Cuando pruebo mi código, recibo el error siguiente

03-09 19:21:10.425: E/AndroidRuntime(379): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.anomaly.punchlist/com.anomaly.punchlist.TeamActivity}: java.lang.IllegalArgumentException: No view found for id 0x7f08000c for fragment TeamListFragment{4067a358 #0 id=0x7f08000c} 

He hecho referencia a los siguientes enlaces antes de publicar esta pregunta, además de leer los documentos de Android en Fragmentos, ListFragments y ListViews.

Enlace 1: FragmentActivity onCreateView
Enlace 2: Problema con ListFragment en Android
Link 3: Android Fragment no se encontró ninguna vista para ID?
Enlace 4: Android ListFragment es confuso
Enlace 5: ¿Cómo actualizar ListView en ListFragment de FragmentActivity?
Enlace 6: ¿ Rellenar ListFragments con una vista personalizada?

Tengo la clase TeamActivity que extiende FragmentActivity y TeamListFragment que extiende ListFragment e implementa LoaderManager.LoaderCallbacks. Por favor vea el código abajo:

TeamActivity.java

 package com.anomaly.punchlist; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; public class TeamActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); TeamListFragment teamListFragment = new TeamListFragment(); fragmentTransaction.add(R.id.android_teamList, teamListFragment); fragmentTransaction.commit(); } } 

TeamListFragment.java

 package com.anomaly.punchlist; import android.database.Cursor; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v4.widget.CursorAdapter; import android.support.v4.widget.SimpleCursorAdapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.anomaly.punchlist.contentprovider.basecolumns.TeamBaseColumns.Team; import com.j256.ormlite.logger.Logger; import com.j256.ormlite.logger.LoggerFactory; public class TeamListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> { private static Logger logger = LoggerFactory.getLogger(TeamListFragment.class); private ListView listView; private SimpleCursorAdapter adapter; private static final int TEAM_LOADER_ACTIVITY = 0x01; private static final String[] PROJECTION = new String[] { "project_manager_id", "contact_id", "project_id" }; private static String SELECTION = "contact_id = ? AND project_id = ?"; @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public void onCreate(Bundle savedInstanceState) { try { super.onCreate(savedInstanceState); int[] uiBindTo = { R.id.text1 }; getLoaderManager().initLoader(TEAM_LOADER_ACTIVITY, null, this); adapter = new SimpleCursorAdapter(getActivity().getApplicationContext(), R.layout.team, null, null, uiBindTo, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); } catch (Exception e) { logger.error(e.getMessage()); new RuntimeException("RuntimeException occurred in onCreate() method of TeamActivity." + e); } } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); } @Override public Loader<Cursor> onCreateLoader(int arg0, Bundle bundle) { String contactId = new String(); String projectId = new String(); CursorLoader cursorLoader = null; if (bundle != null) { contactId = bundle.getString("contact_id"); projectId = bundle.getString("project_id"); } String[] selectionArgs = { contactId + ", " + projectId }; cursorLoader = new CursorLoader(getActivity(), Team.CONTENT_URI, PROJECTION, SELECTION, null, null); return cursorLoader; } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { adapter.swapCursor(cursor); setListShown(true); } @Override public void onLoaderReset(Loader<Cursor> cursor) { adapter.swapCursor(null); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { onCreate(savedInstanceState); View teamView = inflater.inflate(R.layout.team, container, false); return teamView; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { listView = getListView(); listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); setListAdapter(adapter); setListShown(true); } } 

Además del código anterior, tengo el siguiente diseño personalizado.

team.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingLeft="8dp" android:paddingRight="8dp" > <ListView android:id="@+id/android:teamList" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="@color/grey2" android:divider="@color/blue2" android:dividerHeight="1dp" android:drawSelectorOnTop="false" /> <TextView android:id="@id/android:empty" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:text="No data" /> </LinearLayout> 

En el método onCreate() de su actividad, utilice el método setContentView(R.layout.activity) y también defina un archivo de diseño, que contiene un FrameLayout dentro de LinearLayout .

Ahora invoca el método add() con el id de FrameLayout que acabas de agregar en lugar de R.id.android_teamList que usas en tu onCreate() y también reemplaza android:id="@+id/android:teamList" con android:id="@android:id/list" en su archivo de diseño team.xml.

Por cierto, en caso de que lo haga, puede acceder a su ListView con android.R.id.list .

R.id.text1 debe definirse en R.layout.team .

Compruebe el documento SimpleCursorAdapter :

Identificador de recurso de un archivo de diseño que define las vistas de este elemento de lista. El archivo de diseño debe incluir al menos aquellas vistas con nombre definidas en "to"

  • Listview en el lado de rleft y tabhost en el lado derecho con la proporción de 20:80 compartir pantalla
  • Cómo configurar la altura del elemento WearableListView
  • RadioButtons programáticamente agregados se niegan a obedecer la ponderación LayoutParams
  • Vinculación de fragmentos en listview
  • Iconos diferentes en la vista de lista
  • ViewPager con vista de cabecera
  • Crear un cuadro de diálogo personalizado con lista de botones de radio
  • Android: ¿Gridview o listview?
  • Ocultar fila de ListView sin ocupar espacio
  • Getview Llamado varias veces en android
  • Colocar ViewPager como una fila en ListView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.