Android + ListFragment avec une hiérarchie de vue personnalisée

Je tente de personnaliser la disposition des fragments en renvoyant ma propre hiérarchie de vue depuis onCreateView(LayoutInflater, ViewGroup, Bundle) . Cela gonfle ma vue personnalisée, mais semble empiler les vues au lieu de gonfler à l'intérieur, je vois tout à la fois. Toute aide est appréciée.

MyActivity.java:

  • Impossible de régler le son de la notification push dans Android
  • Android addHeaderView disparaît lorsque aucun élément dans ListView
  • Utilisation de HashMap pour mapper une chaîne et int
  • Comment puis-je analyser un espace de noms à l'aide de l'analyseur SAX?
  • Suppression automatique des chaînes non référencées de strings.xml
  • Capture photo tourne 90 degrés dans samsung mobile
  •  public class MyActivity extends FragmentActivity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) { ArrayListFragment list = new ArrayListFragment(); getSupportFragmentManager().beginTransaction().add(android.R.id.content, list).commit(); } } public static class ArrayListFragment extends ListFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { inflater.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.main, container); return super.onCreateView(inflater, container, savedInstanceState); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); String List[] = {"Larry", "Moe", "Curly"}; setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, List)); } } } 

    Main.xml

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="8dp" android:paddingRight="8dp"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="THIS IS A BUTTON" /> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00FF00" android:layout_weight="1" android:drawSelectorOnTop="false" /> <TextView android:id="@android:id/empty" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:text="No data" /> </LinearLayout> 

  • Comment utiliser signalr dans Android
  • Impossible d'obtenir clipChildren = faux attribut au travail
  • Peut-on utiliser CSS dans les formulaires Android pour les composants Android?
  • Compilation et exécution d'ApiDemos
  • Détecter les alarmes par défaut de l'horloge
  • NotificationCompat android - comment afficher uniquement une grande icône sans petit
  • 5 Solutions collect form web for “Android + ListFragment avec une hiérarchie de vue personnalisée”

    Je ne renvoyais pas la nouvelle vue dans la méthode onCreateView de la classe ListFragment. Par exemple:

      @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.main, null); return view; } 

    Tout fonctionne bien maintenant dans le pays d'Android!

    Je pense que tu ferais mieux

      @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.main, container, false); return root; } 

    Manière optimisée et code de prise de vue

      @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.list_alphabet, container, false); } 
     getSupportFragmentManager().beginTransaction().add(android.R.id.content, list).commit(); 

    La liste n'est pas acceptée, elle cherche un fragment.

    Utilisez ce modèle, fonctionne parfaitement!

     inflater.inflate(R.layout.list_layout, container, false); 

    Public Afficher gonfler (analyseur XmlPullParser, racine ViewGroup, attachement booléenToRoot)

    AttachToRoot Que la hiérarchie gonflée soit attachée au paramètre racine? Si false, la racine est uniquement utilisée pour créer la sous-classe correcte de LayoutParams pour la vue racine dans le XML.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.