我有應用程序與列表視圖(一行包含textview,imageview,ratingbar)和我自己的適配器。當我在排序listview(我在菜單中選擇此選項)後旋轉屏幕時,它會在排序前返回到窗體。 我試過的onSaveInstanceState覆蓋:旋轉後存儲數據自己的適配器
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putParcelable("listView", listView.onSaveInstanceState());
}
和片段的onCreate:
listView.setAdapter(adapter);
if(savedInstanceState!=null)
{
mListInstanceState=savedInstanceState.getParcelable("listView");
listView.onRestoreInstanceState(mListInstanceState);
}
但它不工作。我是否也應該重寫onRestoreInstanceState或者使用別的東西?
您是否保存了適配器?當你旋轉屏幕時,所有的東西都會重新啓動,你的代碼會再次通過它的初始化。 –
我明白了,我想這樣做,然後在oncreate f.e開始時閱讀。但我不知道應該使用什麼,共享首選項(它似乎很費勁)還是其他的東西?我是一個初學者:) – user3590445