在加载活动Monodroid上单击列表中的一个元素

本文关键字:元素 一个 活动 加载 Monodroid 列表 单击 | 更新日期: 2023-09-27 17:53:25

我有一个小问题。当我从列表中选择一个项目时,它被选中并着色,直到一切都正确。然后当我去另一个活动,我回来时,我希望列表中的项目再次被选中。总结一下在列表中选择一个项目被重新加载时的活动,ListView必须知道你想要点击的项目加载为MonoDroid

对不起,我的英语不好,我希望我解释清楚了。由于

在加载活动Monodroid上单击列表中的一个元素

您想要的功能不是Android的正常行为,当手机处于触摸模式时,并且使用的API级别小于11。

因此,最简单的方法是将应用程序定位为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();

和设置突出显示的项目时,回到活动与ListView,你可以放置以下代码在OnResume:

var prefs = GetPreferences(FileCreationMode.Append);
var val = prefs.GetInt("ListViewSelectedItem", 0);
listView.SetItemChecked(val, true);

如果listView可以通过OnResume方法访问,