Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 返回应用程序时不保留主详细信息列表选择?_Android - Fatal编程技术网

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()。