Rumah >Java >javaTutorial >Bagaimana untuk Mengekalkan Item Terpilih Diserlahkan dalam Paparan Senarai Android?

Bagaimana untuk Mengekalkan Item Terpilih Diserlahkan dalam Paparan Senarai Android?

Barbara Streisand
Barbara Streisandasal
2024-11-24 00:15:181012semak imbas

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

Android ListView mengekalkan item yang dipilih diserlahkan

Dalam urutan ini, anda akan melihat cara untuk memastikan item yang dipilih dalam ListView diserlahkan, walaupun apabila butiran item yang dipilih dipaparkan dalam ListView yang lain.

Pertama, mari kita takrifkan XML susun atur:

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

Sekarang, mari lihat kod 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();
    }
});

Dalam susun atur XML, kami tentukan:

  • android:choiceMode= "singleChoice": Ini memastikan bahawa hanya satu item boleh dipilih di a masa.
  • android:listSelector="#666666": Ini menentukan warna latar belakang untuk item yang dipilih.

Dalam kod Java, kami mengendalikan acara klik item dan mengemas kini butiran ListView sewajarnya.

Dengan mengikuti pendekatan ini, anda boleh mengekalkan item yang dipilih dalam ListView pertama diserlahkan sambil memaparkan butiran item yang dipilih dalam ListView kedua.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Item Terpilih Diserlahkan dalam Paparan Senarai Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn