Android 返回应用程序时不保留主详细信息列表选择?
标题概括了这一点Android 返回应用程序时不保留主详细信息列表选择?,android,Android,标题概括了这一点 使用默认的主详细信息流模板,当加载第二个活动,然后使用“上一步”按钮返回时,所选片段详细信息仍然可见,但列表中不再有所选项目?将其解决后,默认模板具有以下(未使用的?)功能: private void setActivatedPosition(int position) { if (position == ListView.INVALID_POSITION) { getListView().setItemC
使用默认的主详细信息流模板,当加载第二个活动,然后使用“上一步”按钮返回时,所选片段详细信息仍然可见,但列表中不再有所选项目?将其解决后,默认模板具有以下(未使用的?)功能:
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);
}
最后在“简历上”
int pos = mActivatedPosition;
getListView().setSelection(pos);
getListView().performItemClick(getListView().getAdapter().getView(pos, null, null), pos, pos);
如果有人想知道,“mActivatedPosition”已经被默认模板定义在列表片段的顶部。第二个活动将从listview使用的列表中删除该项目?该项目仍然存在,但不再处于激活状态。Oooh。也许您可以将所选项目保存在onPause()中,并将其恢复到onResume()。GetCheckEditePosition()和setItemChecked()。