我有幾個活動,其中一些有listviews。當點擊那些列表視圖中的項目時,背景和文本顏色將突出顯示,並且下一個活動將啓動。我有自定義後退按鈕可以回到以前的活動。我想知道是否有一種方法可以保留先前按下的listview中背景和文本顏色的亮點,當我點擊後退按鈕時。這裏是一個示例代碼:記住選定的背景和文字顏色突出顯示活動
public class Act1 extends Activity {
//code to create arrays and adapters, populate listview and so on
ListView listParams = (ListView) findViewById(R.id.lvParams);
listParams.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View viewClicked, int position, long id) {
viewClicked.setSelected(true);
SelectedParam = String.valueOf(parent.getItemAtPosition(position));
Editor editor = sharedpreferences.edit();
editor.putString("SelectedParam", SelectedParam);
editor.commit();
Intent goToAct2= new Intent(getApplicationContext(),Act2.class);
startActivity(goToAct2);
}
});
我有xml選擇器來更改所選項目的顏色(此處未顯示...)。現在,當我在第二個活動,我想回去的第一個活動,所以我連接功能的GoBack的按鈕:
goBack(View V){
Intent goToAct1 = new Intent(Act2.this, Act1.class);
startActivity(goToAct1);
}
當我回來活性1,我想我的列表視圖來記住以前的選擇並在列表視圖中突出顯示它。現在,當我在手機上使用導航鍵時,突出部分被記住了......有沒有辦法模仿這種情況。或者也許有一個更簡單的方法。請幫助:)
是的,您可以在返回活動時更改listitem佈局的背景顏色。您已經存儲了listitem的值。存儲ID將非常有益。 – Aakash 2015-04-06 01:35:02
'startActivityForResult(Intent intent,int requestCode)'可以解決你的問題。 – li2 2015-04-06 01:48:43
您的第一個活動已存儲在** [back stack](http://developer.android.com/guide/components/tasks-and-back-stack.html)**中,所以當您想要導航回activity1從activity2開始,你只需要完成activity2,如果你按下了actionbar的後退按鈕或其他與你的** goback按鈕相關的函數,你可以重寫onNavigateUp()方法** – li2 2015-04-06 01:59:50