Maison >Java >javaDidacticiel >Comment garder un élément sélectionné en surbrillance dans une liste Android ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-11-24 00:15:18995parcourir

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"
    />

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();
    }
});

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!

Déclaration:
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