MonoDroid ListView选择问题

时间:2012-06-21 23:10:04

标签: android xamarin.android

我创建了一个MonoDroid应用程序,其中我有一个填充了自定义行布局的ListView。

自定义行布局有3个textview:lblA,lblB,lblC和一个不可见的imageview:img

到目前为止一切顺利,listview正确填充,所有工作都按预期工作并显示。

但是,我目前在项目选择方面遇到问题,我希望隐藏的图像视图在选择项目时变为可见,而在再次选择时则不可见。问题是,如果我选择一个项目并继续滚动,该行似乎无限重复自己和可见的imageview!

这是我试图实现的自定义视觉选择,但它不能像我期望的那样工作。

以下是项目选择的代码:

private void listView_ItemClick(object sender, AdapterView.ItemClickEventArgs e){
    ListView lv = (sender as ListView);
    View row = lv.GetChildAt(e.Position);
    var item = row.FindViewById(Resource.Id.img);

    item.Visibility = (item.Visibility == ViewStates.Invisible) ? ViewStates.Visible :
                                                                      ViewStates.Invisible;
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

我想通了,实际上我觉得太难了。

在我的数据列表中,我添加了一个'Selected'布尔值,然后修改了我的适配器,以根据此布尔值切换可见性。

通过使用my_list [e.Position]直接访问数组,布尔值因项目点击而受影响。

要改变当前的视觉效果,我只需从e.View访问视图。