2013-12-09 33 views
0

標題總結,返回到應用程序時MasterDetail列表選擇不會保留?

使用默認的主細節流模板,當加載第二個活動,然後返回與後退按鈕,選定的碎片細節仍然可見,但列表不再有一個選定的項目?

+0

第二個Activity從列表視圖使用的列表中刪除項目? –

+0

該物品仍然存在,但不再處於激活狀態。 – Broak

+0

Oooh。也許你可以將選中的項目保存在onPause()中並將其恢復爲ih onResume()。 getCheckedItemPosition()和setItemChecked()。 –

回答

0

工作了,默認的模板具有以下(未使用?)功能:

private void setActivatedPosition(int position) 
    { 
     if (position == ListView.INVALID_POSITION) 
     { 
      getListView().setItemChecked(mActivatedPosition, false); 
     } else 
     { 
      getListView().setItemChecked(position, true); 
     } 

     mActivatedPosition = position; 
    } 

只是讓你 'onListItemClick',像這樣:

@Override 
    public void onListItemClick(ListView listView, View view, int position, long id) 
    { 
     super.onListItemClick(listView, view, position, id); 
     setActivatedPosition(position); //new code 
     mCallbacks.onItemSelected(LyfeListContent.ITEMS.get(position).class_id); 
    } 

終於在「的onResume '

int pos = mActivatedPosition; 

getListView().setSelection(pos); 
getListView().performItemClick(getListView().getAdapter().getView(pos, null, null), pos, pos); 

對於任何人想知道的,'mActivatedPosition'已經定義在頂部您的列表片段由默認模板。

相關問題