首頁 > Java > java教程 > 如何在 Android ListView 中保持所選項目突出顯示?

如何在 Android ListView 中保持所選項目突出顯示?

Barbara Streisand
發布: 2024-11-24 00:15:18
原創
988 人瀏覽過

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

Android ListView 保持所選項目突出顯示

在本主題中,您將了解如何保持ListView 中所選項目突出顯示,即使在所選項目的詳細資訊顯示在另一個ListView 中。

首先,讓我們定義XML佈局:

<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"
    />
登入後複製

現在,讓我們看一下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();
    }
});
登入後複製

在XML佈局中,我們指定:

  • android:choiceMode= 「singleChoice」:這確保一次只能選擇一個項目
  • android:listSelector="#666666":指定所選項目的背景顏色。

在Java 程式碼中,我們處理項目點擊事件並更新

透過這種方法,您可以在第一個ListView 中突出顯示所選項目,同時在第二個ListView 中顯示所選項目的詳細資料清單檢視。

以上是如何在 Android ListView 中保持所選項目突出顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板