0
我有一个自定义的gridView项目布局,包含一个imageView和一个带有背景的textView。 textView作为选择器,因为我不想使用默认的。Android的GridView如何取消选择一个位于当前视图之外的项目(当前可见项)
只要GridView的所有项目都适合屏幕,此方案就可以正常工作。但是对于可滚动gridView的情况:如果我选择一个项目,然后在向下滚动后选择另一个项目,则首先选择的项目不会被取消选择,因为它不是的视图的一部分。
这里是我的MainActivity用来选择代码:
final int size = gridView.getChildCount();
for(int i = 0; i < size; i++)
{
if(i == position && gridView.getChildAt(i) instanceof TextView)
gridView.getChildAt(i).setVisibility(View.VISIBLE);
else
gridView.getChildAt(i).setVisibility(View.INVISIBLE);
}
我想知道如何让TextView的(我选择为GridView)看不见的,当它位于视图之外。
谢谢你们
尝试了你的建议,不知道我是否做得正确。你能指导我完成吗? “确保在选择另一个之前取消选择每个”..无法取消选择视图外的任何内容 – OrangePeel
ArrayList textViews = new ArrayList (); TextView a = new TextView(context); GridLayout.add(a); textViews.add(a); 然后当你想选择新的东西: for(TextView t:textViews){ t.setVisible(View.INVISIBLE); } 然后最后设置你想要看到的视图。 –
这是假设textviews是你想要设置可见的意见。切换文本视图的任何对象,它实际上是。 –