我在访问 gridview 中的单个项目时遇到问题。我有图像的网格视图。在长按单个项目时,我正在使用多模式侦听器激活 CAB 菜单。在听众内部,我能够做到
gridView.setVisibility(View.GONE);
但我无法做到这一点,它给出了 NULL 指针异常
gridView.getChildAt(position).setVisibility(View.GONE);
我也试过这个:
ViewGroup gridChild = (ViewGroup) gridView.getChildAt(1);
int childSize = gridChild.getChildCount();
for(int k = 0; k < childSize; k++) {
if( gridChild.getChildAt(k) instanceof ImageView ) {
gridChild.getChildAt(k).setVisibility(View.GONE);
}
}
我该如何克服呢?
更新:
在我的 Adapter getView() 方法中:
imageview.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
overlay.setVisibility(View.VISIBLE);
imageview.setBackgroundColor(Color.parseColor("#f9a49c"));
return false;
}});
我在这里要做的是,我只想在点击时更改背景颜色。但是当前视图中最后一个元素的颜色正在改变。而且在新闻发布后也不会留下来。它只是在按下后熄灭。