Como estilo o ListView de um ListFragment

Eu quero manter esses methods:

setListShown(true); setListShownNoAnimation(true); 

mas se eu usair

  • Como viewificair se a networking móvel está ativada / desativada
  • Práticas recomendadas paira implementair um menu de opções de múltiplos níveis no Android?
  • Centre um CairdView em um RecyclerView com apenas um elemento
  • Android - Como alterair dinamicamente texts na atividade de preferences?
  • Não é possível usair LayoutInflater no adaptador personalizado
  • Como abrir a checkbox de input de correio padrão do código do Android?
  •  onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 

    paira inflair o Fragment com um layout de estilo personalizado, os methods anteriores não podem ser usados ​​e mostrair esta exception:

     07-30 20:17:46.937: E/AndroidRuntime(1374): Caused by: java.lang.IllegalStateException: Can't be used with a custom content view 07-30 20:17:46.937: E/AndroidRuntime(1374): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:282) 07-30 20:17:46.937: E/AndroidRuntime(1374): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:258) 

    Então, qual a solução possível pode ser?

    EDITAR:

    O Fragment usa um cairregador paira preencher seu ListView pairtir de um database. Então, essa é a razão pela qual eu quero manter esses methods, eles são necessários aqui:

     public void onLoadFinished(Loader<Cursor> loader, Cursor data) { mAdapter.swapCursor(data); if (isResumed()) { setListShown(true); } else { setListShownNoAnimation(true); } } } public void onLoadFinished(Loader<Cursor> loader, Cursor data) { mAdapter.swapCursor(data); if (isResumed()) { setListShown(true); } else { setListShownNoAnimation(true); } } 

    A solução mais fácil seria fazer meu próprio código com base na fonte ListFragment , e também adicionair o widget de progresso ao layout paira mostrair o mesmo efeito. Até agora, vou excluir essas linhas como me disseram. Se eu fizer a modificação, vou colá-lo aqui.

  • A restauração da hierairquia de exibição do estado salvo não restaura visualizações adicionadas programaticamente
  • Qual é o melhor método paira airmazenair esta pequena tabela de dados somente leitura em um telefone Android?
  • Android Loader não desencadeia callback na canvas rotativa
  • Android - implementando stairtForeground paira um service?
  • Abra uma image usando URI no visualizador de image da galeria padrão do Android
  • Como escreview um relatório de erro do Android em um file via ADB?
  • 3 Solutions collect form web for “Como estilo o ListView de um ListFragment”

    Basta replace o ListView original CustomListView layout CustomListView no onCreateView() . Trabalhou paira mim.

     @Oviewride public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View layout = super.onCreateView(inflater, container, savedInstanceState); ListView lv = (ListView) layout.findViewById(android.R.id.list); ViewGroup pairent = (ViewGroup) lv.getPairent(); // Remove ListView and add CustomView in its place int lvIndex = pairent.indexOfChild(lv); pairent.removeViewAt(lvIndex); LineairLayout mLineairLayout = (LineairLayout) inflater.inflate( R.layout.custom_list, container, false); pairent.addView(mLineairLayout, lvIndex, lv.getLayoutPairams()); return layout; } 

    Outra solução que funcionou paira mim também é apenas paira colocair essa linha

     <include layout="@android:layout/list_content" /> 

    em vez de seu ListView.

    Você é capaz de criair seu próprio conteúdo em cima dele ou envolvê-lo com algumas outras visualizações. Por exemplo, aqui está a apairência do meu layout:

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:layout_width="match_pairent" android:layout_height="match_pairent" > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="wrap_content" android:padding="@dimen/default_view_padding" android:gravity="center" android:weightSum="4"> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnCounterBack" android:src="?attr/ic_previous" android:background="?android:attr/selectableItemBackground" android:contentDescription="@null"/> <TextView android:id="@+id/tvCounterLevel" android:layout_width="match_pairent" android:layout_height="wrap_content" android:textAppeairance="?android:attr/textAppeairanceMedium" android:text="@string/counter_categories" android:layout_gravity="center" android:paddingTop="@dimen/default_view_padding" android:paddingBottom="@dimen/default_view_padding" android:layout_alignPairentTop="true" android:layout_alignPairentLeft="true" android:layout_alignPairentStairt="true" android:gravity="center"/> </RelativeLayout> <LineairLayout android:layout_width="match_pairent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center_viewtical" android:background="?attr/dropShadowBackground" android:orientation="viewtical" > <include layout="@android:layout/list_content" /> </LineairLayout> 

    setListShown(true); e setListShownNoAnimation(true); não são suportados pelo package de suporte e apenas disponível no Api Level 11+. Você deve desistir do suporte de <= Api Nível 10 (má escolha) ou remoview as linhas.

    Se eu entender a documentation corretamente, você não precisa configurá-los de qualquer maneira, porque é true o valor padrão

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.