L'ajout de différents types d'éléments, une vue de liste
Est-il un bon tuto ou un lien qui montre comment ajouter des éléments différents pour une listview?
Par exemple, une avec deux lignes de Texte et un case à cocher, un autre que vous appuyez simplement sur et et quelque chose de pop up. Tout ce que j'ai maintenant est que chaque élément de la liste est la même à deux lignes d'affichage de texte et de la case...
Ou, si il existe un moyen d'ajouter 1 ligne à la fois avec une mise en page différente par R.layout.xxx
?
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mRoot = inflater.inflate(R.layout.frag_settings, container, false);
mItems = getResources().getStringArray(R.array.setting_items);
mItemDescription = getResources().getStringArray(R.array.setting_item_descriptions);
mItemListView = (ListView) mRoot.findViewById(R.id.lvMainListView);
ArrayAdapter<String> lvRowTitle = new ArrayAdapter<String>(getActivity(),
R.layout.setting_twolinetext_checkbox, R.id.tvRowTitle,
mItems);
mItemListView.setAdapter(lvRowTitle);
ArrayAdapter<String> lvRowDesc = new ArrayAdapter<String>(getActivity(),
R.layout.setting_twolinetext_checkbox, R.id.tvRowDesc,
mItemDescription);
mItemListView.setAdapter(lvRowDesc);
return mRoot;
double possible de Multiplier textviews dans une listview
double possible de Android Listview avec une mise en page différente pour chaque ligne
code.facebook.com/posts/879498888759525/...
double possible de Android Listview avec une mise en page différente pour chaque ligne
code.facebook.com/posts/879498888759525/...
OriginalL'auteur DDukesterman | 2013-07-10
Vous devez vous connecter pour publier un commentaire.
Dans mon exemple, la liste de l'activité qui permettra d'afficher notre liste personnalisée de vue est appelée OptionsActivity, parce que dans mon projet, cette activité va afficher les différentes options de mon utilisateur peut définir pour contrôler mon application. Il y a deux liste types d'élément, un élément de la liste type a juste un TextView et le deuxième élément de la liste type a juste un Bouton. Vous pouvez mettre tous les widgets que vous aimez à l'intérieur de chaque élément de la liste type, mais j'ai gardé cet exemple simple.
La getItemView méthode vérifie pour voir quels éléments de la liste doivent être de type 1 ou de type 2. Selon mes statique ints j'ai défini jusqu'en haut, les 5 premiers éléments de la liste seront l'élément de liste de type 1, et les 5 derniers éléments de la liste seront l'élément de liste de type 2. Donc, si vous compilez et exécutez ce, vous aurez une liste de cinq éléments que contiennent simplement un bouton, puis cinq éléments qui contiennent simplement un TextView.
Ci-dessous est le code d'activité, l'activité de fichier xml et un fichier xml pour chaque élément de la liste type.
OptionsActivity.java:
activity_options.xml:
list_item_type_1.xml:
list_item_type2.xml:
OriginalL'auteur Lou Morda
Vous avez deux possibilités pour le faire:
BaseAdapter
a deux méthodes pour vérifier les différents éléments, lesgetItemViewType(int position)
etgetViewTypeCount()
. Faites vos trucs là.Vérifier ce tutoriel:
ListView avec plusieurs lignes
OriginalL'auteur Nicolas Jafelle
Vous devez créer votre propre classe étendant
BaseAdapter
. Je recommande de regarder Le Monde de la ListView, il vous aidera à comprendre tout ce que vous devez savoir pour travailler avec une ListView.OriginalL'auteur Karakuri
En plus de @LouMorda réponse, j'utiliserais un peu de classe, avec des champs qui contient des informations à propos de l'article et la liste type d'élément:
Donc l'utilisation de cet objet donne plus de flexibilité lors de l'ajout d'éléments à la liste de séquences différentes:
OriginalL'auteur fs_dm