我有一個具有高級按鈕的登錄頁面。 該按鈕設置用戶可以添加某些信息的視圖。 當我點擊保存時,它會回到我的主視圖(登錄頁面)並清除所有信息?如何在視圖之間導航?而不會丟失初始視圖的數據
如何在導航離開後再保存第一個視圖的狀態?
感謝
我有一個具有高級按鈕的登錄頁面。 該按鈕設置用戶可以添加某些信息的視圖。 當我點擊保存時,它會回到我的主視圖(登錄頁面)並清除所有信息?如何在視圖之間導航?而不會丟失初始視圖的數據
如何在導航離開後再保存第一個視圖的狀態?
感謝
看看活動的生命週期,在activity docs描述。當活動進入後臺時,與開始新活動時一樣,可以將其刪除,並在用戶返回活動時重新創建活動。
此外,當您通過配置更改(如更改方向)時,您的視圖將被重新創建。
就你而言,你可能想要將狀態保存在onPause()方法中,並將其重置在onResume()方法中。在活動之間共享狀態的一種簡單方法是通過SharedPreferences。例如,請參閱Saving Persistent State。
有兩種方法可以完成你的任務。
1>重寫Onpause()和OnResume方法的活動生命週期。 2>通過使用共享首選項,你也可以做到這一點。
現在,這取決於你想保存什麼,即。在列表視圖或數組列表等 數據如果u是使用列表視圖和ArrayListü可以通過下面的代碼完成
u能創建類..
公共類ResultsAdapter延伸ArrayAdapter實現可篩選{
私人ArrayList的子項目; private ArrayList allItems; // = new ArrayList(); private LayoutInflater inflater; 私人PTypeFilter過濾器; 私人OnCheckedChangeListener測試;
公共ResultsAdapter(上下文的背景下,INT textViewResourceId,ArrayList的項目,OnCheckedChangeListener一){
super(context, textViewResourceId, items);
//this.subItems = items;
for(int i = 0;i < items.size();i++){
subItems.add(items.get(i));
}
this.allItems = this.subItems;
inflater= LayoutInflater.from(context);
test =a;
}
現在在OnCreate中添加此
ListView lvr = (ListView)findViewById(R.id.search_results);
this.m_adapter = new ResultsAdapter(home.this, R.layout.listrow,
sResultsArr,home.this);
this.specsAdapter = new FeaturesExpandableAdapter(home.this,new ArrayList<String>
(),new ArrayList<ArrayList<Feature>>());
lvr.setAdapter(this.m_adapter);
是這個回答您的問題
謝謝Rakesh
感謝Raskesh .. 我非常新,所以不知道它有助於 我有一個登錄頁面,用戶(EditText上),密碼(EditText上)和高級(按鈕) 高級按鈕會打開一個視圖( setContentView)這需要一個參數(URL - EditText提交) 我填寫了URL並單擊保存(按鈕)並且想要返回到應該保持填充的登錄屏幕... 這樣做是否更清楚? – Martin 2010-08-31 12:51:29