2010-01-14 22 views
4

我有一個簡單的ListView和listadapter設置如下:Android的ListView控件編程選擇/高亮

listAdapter = new ArrayAdapter<MyDomainObject>(this, android.R.layout.simple_list_item_1, listOfDomainObjects); 
listView.setAdapter(listAdapter); 

用戶使該將他們帶到另一個活動列表中進行選擇。從新的活動中,他們可以點擊他們的選擇,並將其返回到上面列表中的活動。我想突出顯示之前做出的選擇。我目前找到匹配的列表條目並致電:

listView.setSelection(matchIndex); 

這將他們的先前選擇帶到列表頂部。是否可以突出顯示(以默認橙色)之前的選擇。我嘗試了幾種方法,但沒有運氣。

回答

2

你有什麼好。然而,確定選擇是否被「突出顯示」取決於用戶是否正在使用觸摸屏。如果他們最近使用觸摸屏的時間超過了軌跡球/ D-pad /無論如何,則設備處於「觸摸模式」,並且不顯示選擇高光。

+0

爲什麼選擇沒有軌跡球/ D-Pad?這讓我感到困惑。你可以站點的文件的解釋? – mobibob 2010-08-15 00:01:04

+0

啊......我以爲我知道基於方法名稱的用戶界面,並不明白爲什麼我無法控制選擇或接收選擇通知(在測試中的電話上沒有軌跡球或d/pad)。我現在閱讀了這一章,並會經常審閱。 – mobibob 2010-08-16 11:25:14

0

使用simple_list_item_activated_1您使用的是簡單的。

而且突出顯示選擇的行使用此代碼

listview.setItemChecked(位置,TRUE);

位置是指您想要選擇的行ID。