我创建了一个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;
}
提前致谢!
答案 0 :(得分:0)
我想通了,实际上我觉得太难了。
在我的数据列表中,我添加了一个'Selected'布尔值,然后修改了我的适配器,以根据此布尔值切换可见性。
通过使用my_list [e.Position]直接访问数组,布尔值因项目点击而受影响。
要改变当前的视觉效果,我只需从e.View访问视图。