Dirijo una aplicación Android a la API 15 y al mínimo 8. De modo que utilizo la biblioteca de soporte para administrar fragmentos. Tengo un conjunto de fragmentos que utilizo en varias partes de la aplicación.Agregue un fragmento como encabezado ListView
Ahora, en una actividad que tienen un ListView en el diseño:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/listOfEvents"
android:layout_width="match_parent" android:layout_height="match_parent">
</ListView>
Me gustaría añadir un fragmento de la mina en la cabecera ListView. He intentado esto:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.event_open);
listOfEvents = (ListView) findViewById(R.id.listOfEvents);
Fragment fragment = new SortingStandardFragment();
getSupportFragmentManager()
.beginTransaction()
.add(fragment, null)
.commit();
View fragmentView = fragment.getView(); // problem: fragment is null!
listOfEvents.addHeaderView(fragmentView);
}
pero me sale un error ya fragment.getView() devuelve un valor nulo (documentos de referencia API decir que tengo que poner un Id GroupView en el llamado complemento, pero donde debo poner el GroupView en ? el diseño ¿hay otra manera de dar en el blanco
No estoy seguro de que esto pueda funcionar de esta manera, pero la idea del fragmento es crear un framelayout estableciendo un id. (Puede hacer id agregando el nombre del id en los recursos), agregar como encabezado y luego hacer una transacción reemplazando ese id con el fragmento – sherpya