列表中的元素单击加载活动Monodroid

时间:2013-01-16 08:51:35

标签: c# xml xamarin.android

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

抱歉英语不好,我希望我解释一下。 感谢

1 个答案:

答案 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