2

Je viens de commencer le codage pour Android, mais j'ai du mal à comprendre les listes. Par exemple, j'ai besoin de comprendre comment je peux montrer une autre vue de liste en cliquant sur un article dans la première vue de liste. Aussi comment je peux afficher un textview en cliquant sur un article dans une liste.Android plus complexe Tutoriel ListView

Si quelqu'un connaît de bons tutoriels ou des exemples s'il vous plaît faites le moi savoir.

Merci beaucoup

+0

vous devez nous dire à quel point cela devrait ressembler ... fx ..Vous pouvez afficher la prochaine activité avec ListView/TextView ou vous pouvez construire Layout qui contient 2 ListViews et après que l'utilisateur clique sur la première liste de show ListView qui dépend de la première sélection – Selvin

Répondre

7

Voici quelques liens pour vous recherchez. Avancé mais si vous y tenez et n'abandonnez pas, vous apprendrez une tonne !!! Jetez un oeil:

Android: ListView elements with multiple clickable buttons

Android custom list item with nested widgets

+0

Les liens ci-dessus sont vraiment cool pour tout le monde visitant et affichant des réponses. Il y a beaucoup à apprendre et cela ouvrira les yeux sur beaucoup plus de potentiel avec des vues de liste. Je construis presque chaque liste avec ces méthodes d'écrasement de l'adaptateur de base, car il crée une interface utilisateur personnalisée avec des possibilités infinies. J'espère que cela aide. – trgraglia

1

Je ne sais pas d'un bon tutoriel, mais pour la première question que vous posez:

« Je dois comprendre comment je peux montrer une autre listview en cliquant sur un élément dans la première liste. " Je suppose que vous voulez conserver la même vue de liste dans la même activité. Il suffit donc de changer l'adaptateur de la vue liste. Si c'est basé sur le curseur, n'oubliez pas de gérer votre curseur. Une fois que vous êtes passé à la nouvelle carte, appelez la

notifyDatasetChanged() 

méthode de votre adaptateur pour actualiser la vue.

En ce qui concerne la deuxième question "Aussi comment je peux afficher une vue texte lorsque je clique sur un élément dans une liste.", C'est trop flou pour moi. Qu'est-ce que tu veux faire ? Modifier un élément de la liste directement en place, faire apparaître une boîte de dialogue avec un texte d'édition?

Cordialement, Stéphane

2

Par exemple, je besoin de comprendre comment je peux montrer une autre listview en cliquant sur un élément> le premier listview. Aussi comment je peux afficher un textview en cliquant sur un article dans une liste.

Dans android et java aussi, vous pouvez utiliser l'écouteur pour écouter un événement. Dans votre cas, vous voulez savoir quand un utilisateur clique sur un élément, vous aurez donc besoin d'un onclicklistener qui appellera une autre activité avec un autre listview. Pour la textview en cliquant sur Je pense que vous voulez parler de Toast, c'est une sorte de notification en bas de l'écran.

un lien avec de bons exemples: http://developer.android.com/guide/topics/ui/ui-events.html

2

Merci pour tous les liens tout le monde, très utile!

J'ai résolu ce que j'avais besoin de faire, il pourrait être extrêmement brut et inefficace, mais cela fonctionne jusqu'à ce que j'apprenne au moins.

Cela me permet de relier plusieurs types de vue différents.

package com.android.AndroidViews; 

import android.app.ListActivity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 

public class AndroidViews extends ListActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), 
       R.array.list_titles, R.layout.list_item)); 

     getListView().setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
         int position, long id) { 
        switch(position) 
        { 
         case 0: Intent newActivity = new Intent(AndroidViews.this,LinearView.class); 
           startActivity(newActivity); 
           break; 
         case 1: Intent newActivity1 = new Intent(AndroidViews.this,List2.class); 
           startActivity(newActivity1); 
           break; 
        } 
       } 
     }); 
    } 
}