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佈局中,我們指定:
在Java 程式碼中,我們處理項目點擊事件並更新
透過這種方法,您可以在第一個ListView 中突出顯示所選項目,同時在第二個ListView 中顯示所選項目的詳細資料清單檢視。
以上是如何在 Android ListView 中保持所選項目突出顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!