我有一個的ListView並點擊列表項,它開始另一個活動。更改列表背景問題
所以我的問題是,當我點擊列表項,就應該改變它的背景,並移動到另一個活動和緊迫回到這個活動列表項應該保留它改變背景顏色。再次點擊另一個列表,它應該刪除早期的背景顏色,並再次執行相同的操作。
在此先感謝。
我有一個的ListView並點擊列表項,它開始另一個活動。更改列表背景問題
所以我的問題是,當我點擊列表項,就應該改變它的背景,並移動到另一個活動和緊迫回到這個活動列表項應該保留它改變背景顏色。再次點擊另一個列表,它應該刪除早期的背景顏色,並再次執行相同的操作。
在此先感謝。
我通過setItemChecked() methood解決它,並使用機器人:choiceMode =「singleChoice」在我的佈局xml文件中的ListView內部。我上單擊列表中的項目和上getView()我這樣做使用MyClass.this.getListView().setItemChecked(position,true);
...
if(position == MyClass.this.getListView().getCheckedItemPosition()){
holder._newsLinear.setBackgroundColor(Color.CYAN);
}
else{
holder._newsLinear.setBackgroundColor(Color.BLACK);
}
你會想在ListView的setItemChecked()
方法。如果您將它放在偵聽器中的onItemClick()
方法中,這應該使您單擊「永久打開」的項目。請注意,當您導航到下一個活動時,您必須使用onSaveInstanceState()
和onRestoreInstanceState()
來存儲ListView
中的哪個項目已被點擊;我不相信Android會保留Activity
與ListView
之間的偏離情況。
有一個在開發者網站,here的片段段的這相當一個很好的教程。
希望這會有所幫助。
感謝您的回覆......但我已經解決它沒有使用onSaveInstanceState()。 – Sujit
覆蓋的項目點擊監聽器並執行以下操作來更改點擊視圖的顏色:
listView1.setOnItemClickListener(new ListView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3)
{
v.setBackgroundColor(Color.BLACK);
}
});
但是當我們滾動列表時,它會將黑色背景隨機設置爲列表項。 – Sujit
喜sujit我也面臨着同樣的問題,意味着我要改變列表click..and化背景顏色同烏爾問題u能爲我提供了相同的解決方案,我將大大心存感激的你,你將是我的保護(神).vv感謝電子郵件ID:[email protected] – SRam
我已經添加了我的回答如下。 .. – Sujit