Maison > Java > javaDidacticiel > le corps du texte

Comment garder un élément sélectionné en surbrillance dans une liste Android ?

Barbara Streisand
Libérer: 2024-11-24 00:15:18
original
948 Les gens l'ont consulté

How to Keep a Selected Item Highlighted in an Android ListView?

Android ListView maintient l'élément sélectionné en surbrillance

Dans ce fil de discussion, vous verrez comment garder l'élément sélectionné dans un ListView en surbrillance, même lorsque les détails de l'élément sélectionné sont affichés dans un autre ListView.

Tout d'abord, définissons le XML layout :

<ListView
    android:id="@+id/cli_lista"
    android:layout_width="512dp"
    android:layout_height="wrap_content"
    android:choiceMode="singleChoice"
    android:listSelector="#666666"
    />

<ListView
    android:id="@+id/cli_lista_det"
    android:layout_width="512dp"
    android:layout_height="wrap_content"
    android:fadeScrollbars="false"
    />
Copier après la connexion

Maintenant, regardons le code Java :

Cursor cursor = db.rawQuery("Select NrCl||';'||Nome From Clientes", null);
final ListView t = (ListView)findViewById(R.id.cli_lista);
ArrayAdapter<String> myarrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, listItems);
t.setAdapter(myarrayAdapter);

final ListView td = (ListView)findViewById(R.id.cli_lista_detalhe);
final ArrayAdapter<String> myarrayAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, listItems2);

t.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String item = ((TextView)view).getText().toString();
        String[] strArray = item.split("\;");

        cli.load(strArray[0].toString());
        td.setAdapter(myarrayAdapter2);
        listItems2.clear();
        listItems2.add("Nome: " + cli.getNome());
        listItems2.add("Morada: " + cli.getMorada());
        listItems2.add("Localidade: " + cli.getLoca());
        listItems2.add("Código Postal: " + cli.getCp());
        listItems2.add("Pais: " + cli.getPais());
        listItems2.add("Nif: " + cli.getNif());
        listItems2.add("Tel: " + cli.getTel());
        listItems2.add("Tlm: " + cli.getTlm());
        listItems2.add("Tipo Preço: " + cli.getTipoPvn());
        listItems2.add("Cond. Pagamento: " + cli.getCpg());
        listItems2.add("Obs: " + cli.getObs());
        td.setAdapter(myarrayAdapter2);
        myarrayAdapter2.notifyDataSetChanged();
    }
});
Copier après la connexion

Dans la mise en page XML, nous spécifions :

  • android:choiceMode= "singleChoice" : cela garantit qu'un seul élément peut être sélectionné à la fois. time.
  • android:listSelector="#666666": Ceci spécifie une couleur d'arrière-plan pour l'élément sélectionné.

Dans le code Java, nous gérons l'événement de clic sur l'élément et mettons à jour le détaille ListView en conséquence.

En suivant cette approche, vous pouvez garder l'élément sélectionné dans le premier ListView en surbrillance tout en affichant les détails de l'élément sélectionné dans le second. ListView.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal