0

我有一个小问题。当我从列表中选择一个项目时,它会被选中并着色,直到一切正常。然后,当我去另一个活动并回来时,我希望再次选择列表中的项目。总结一下选择列表中的一个item是在activity重新加载的时候,ListView必须知道要点击的item才可以点击loading for MonoDroid

对不起英语不好,我希望我解释一下。谢谢

4

1 回答 1

1

你想要的功能不是 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方法访问。

于 2013-01-16T12:36:18.713 回答