我有一个小问题。当我从列表中选择一个项目时,它会被选中并着色,直到一切正常。然后,当我去另一个活动并回来时,我希望再次选择列表中的项目。总结一下选择列表中的一个item是在activity重新加载的时候,ListView必须知道要点击的item才可以点击loading for MonoDroid
对不起英语不好,我希望我解释一下。谢谢
我有一个小问题。当我从列表中选择一个项目时,它会被选中并着色,直到一切正常。然后,当我去另一个活动并回来时,我希望再次选择列表中的项目。总结一下选择列表中的一个item是在activity重新加载的时候,ListView必须知道要点击的item才可以点击loading for MonoDroid
对不起英语不好,我希望我解释一下。谢谢
你想要的功能不是 Android 的正常行为,当手机处于Touch Mode并且使用低于 11 的 API 级别时。
因此,最简单的方法是将您的应用程序定位为 API 11 或更高版本,并将以下内容添加到您的列表项布局中:
android:background="?android:attr/activatedBackgroundIndicator"
您还必须ChoiceMode
在列表视图中设置:
listView.ChoiceMode = ChoiceMode.Single;
现在要记住返回时选择的项目的位置,ListView
您需要将其保存在某处。因此,在ItemClick
事件处理程序中,您可以将位置保存为SharedPreferences
:
var prefs = GetPreferences (FileCreationMode.Append);
var editor = prefs.Edit();
editor.PutInt("ListViewSelectedItem", args.Position);
editor.Commit();
并在返回 Activity 时设置突出显示的项目,ListView
您可以将以下代码放入OnResume
:
var prefs = GetPreferences(FileCreationMode.Append);
var val = prefs.GetInt("ListViewSelectedItem", 0);
listView.SetItemChecked(val, true);
鉴于listView
可以从该OnResume
方法访问。