Come creare un ListFragment (della libreria di supporto v4) layout da xml? ListFragment
imposta il suo layout a livello di codice, quindi se si desidera modificarlo, è necessario modificare la vista Aggiungi/Rimuovi.ListFragment Layout da xml
risposta
Ho convertito il layout creato in xml, è possibile aggiungere/rimuovere i widget o, ad es. aggiungi soluzioni pulltorefresh
. Non dovresti cambiare gli ID necessari. A causa degli ID interni necessari per alcuni widget, è necessario chiamare una funzione di supporto e deve essere in supporto nello spazio dei nomi v4 poiché le costanti sono interne con visibilità predefinita.
list_loader.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/progress_container_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone" >
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<FrameLayout
android:id="@+id/list_container_id"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/empty_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false" >
</ListView>
</FrameLayout>
</FrameLayout>
e la classe ListFragmentLayout
in android.support.v4.app
(nel progetto, non è necessario modificare barattolo supporto v4)
package android.support.v4.app;
import your.package.R;
import android.view.View;
public class ListFragmentLayout
{
public static void setupIds(View view)
{
view.findViewById(R.id.empty_id).setId(ListFragment.INTERNAL_EMPTY_ID);
view.findViewById(R.id.progress_container_id).setId(ListFragment.INTERNAL_PROGRESS_CONTAINER_ID);
view.findViewById(R.id.list_container_id).setId(ListFragment.INTERNAL_LIST_CONTAINER_ID);
}
}
nel frammento che si estende ListFragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.list_loader, container, false);
ListFragmentLayout.setupIds(view);
return view;
}
vuoi dire con queste modifiche funzionerà come se non fosse una visualizzazione personalizzata? – seb
sei un uomo fantastico! – seb
Non funziona per me. Sembra che sto usando una versione precedente della lib di supporto. Non contiene nemmeno la classe ListFragmentLayout. Non suggerisco di usare questo approccio. Nelle future revisioni di supporto lib potrebbe non funzionare. – WindRider
Dal androi d sdk (ListFragment) (http://developer.android.com/reference/android/app/ListFragment.html):
pubblica View onCreateView (gonfiatore LayoutInflater, contenitore ViewGroup, Fascio savedInstanceState)
Fornire implementazione predefinita per restituire un semplice elenco. Le sottoclassi possono eseguire l'override per sostituire con il proprio layout. In tal caso, la gerarchia della vista restituita deve avere un oggetto ListView il cui id è android.R.id.list e può facoltativamente avere un ID vista fratello android.R.id.empty che deve essere visualizzato quando l'elenco è vuoto.
Se si sostituisce questo metodo con il proprio contenuto personalizzato, prendere in considerazione l'inclusione del contenuto elenco_sale standard nel file di layout, in modo da continuare a mantenere tutto il comportamento standard di ListFragment. In particolare, questo è attualmente l'unico modo per mostrare lo stato di avanzamento indeterminato incorporato.
Così quando si desidera il proprio layout.xml per un FragmentList oltre a CriveView e gonfiare il proprio layout.
Ad esempio:
creare un layout di Android (yourlistlayout.xml) e mettere il seguente codice XML sulla posizione in cui si desidera mostrare il vostro ListFragment.
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ListView>
nel vostro ListFragment classe ha messo il seguente codice:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.yourlistlayout, null);
return v;
}
questo non funzionerebbe con la libreria di supporto poiché gli ID sono diversi – sherpya
- 1. Come utilizzare setEmptyView() con layout elenco personalizzato in ListFragment
- 2. Menu di scelta rapida da un ListFragment
- 3. ListFragment onItemClickListener non funziona
- 4. Vista personalizzata nel layout xml
- 5. ListFragment come ottenere la listaView?
- 6. Pulsante con layout XML personalizzato
- 7. Come chiamare il layout xml da un altro modulo
- 8. Come posso visualizzare Android MediaController da layout xml?
- 9. Ruota ImageView fonte da file di layout xml
- 10. Come posso definire il layout di un frammento da XML?
- 11. listfragment semplice esempio
- 12. FragmentPagerAdapter errore getItem con ListFragment
- 13. Evidenzia l'elemento selezionato in "ListFragment"?
- 14. Errore di layout di unione XML xml su Gonfia
- 15. definito layout xml in layout-land non appare nell'applicazione Android
- 16. Android: ListFragment: come aggiornare la lista
- 17. Popolare l'elenco di visualizzazione personalizzata utilizzando ListFragment
- 18. Custom ArrayAdapter in a ListFragment
- 19. Magento My Account Layout XML Problema
- 20. Come aggiungere vista riciclo nel layout xml
- 21. Selettore xml Android per i layout
- 22. "strumenti" Android namespace nel layout documentazione XML
- 23. Android: layout xml alternativo per modalità orizzontale
- 24. Scorciatoia tra layout grafico e XML
- 25. Commenti nel layout XML non funziona
- 26. Comportamento del layout XML con Eclipse-ADT
- 27. come aggiungere View to XML layout android
- 28. Riferimento build.gradle attributo versionName nel layout xml
- 29. Modifiche al layout Xml cambiando orientamento
- 30. android 5 e onClick in layout xml
Si prega di modificare questo in modo che sia chiaro quale fosse il problema (post-it come una domanda) e mettere la soluzione di seguito nella sezione risposte . –
hai un esempio da riferire? – sherpya
Il post dovrebbe essere solo sotto forma di domanda e risposta. Questa sembra una soluzione, ma non è chiaro quale sia la domanda originale che risponde. –