我有点问题。当我从列表中选择一个项目时,选择并着色,直到一切正常。然后当我去另一个活动然后我回来时我希望再次选择列表中的项目。 总结选择列表中的项目是在活动时重新加载,ListView必须知道要单击加载MonoDroid的项目
抱歉英语不好,我希望我解释一下。 感谢
答案 0 :(得分:1)
当手机处于Touch Mode时,并且使用少于11的API级别时,您想要的功能不是Android的正常行为。
因此,最简单的方法是将您的应用程序定位到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
。