我试过的
大家好,我已经制作了一个 GridView,我已经填写了我的数据库。现在我从 Google GridView 教程中制作了一个 onItemClickListner。现在我试图让当用户单击 GridView 中的图片时,它保持选中状态并获取背景颜色,以便用户看到他选择的图像。但这确实不能正常工作。我用一个布尔值创建了一个 If ,当用户单击下一个视图时,它总是使旧视图再次变得透明,而新单击的视图得到背景色。但是在我选择了一个视图并上下滚动之后。突出显示的视图有时会随机更改。
问题
所以我的问题是我必须在 onItemClickListner 中更改什么,这个随机视图更改停止(?),我没有找到这样做的方法。有没有更简单的方法来突出显示选定的视图?为了理解“选定的视图”=用户点击它,而不是它的选定,应该突出显示。
代码
这是我的 onItemClickListner 的代码:
//Hier wird die Grindview gefüllt
final GridView gridview = (GridView) findViewById(R.id.SmileyGrind);
gridview.setAdapter(new ImageAdapter(this, info));
//Hier wird gemerkt welches bild
gridview.setOnItemClickListener(new OnItemClickListener() {
boolean color = false;
View vv;
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(SFilterConfigActivity.this, "" + position, Toast.LENGTH_SHORT).show();
// gridview.setSelection(position);
if ( color == false){
v.setBackgroundColor(0xFF00FF00);
vv = v;
color = true;
}
else {
vv.setBackgroundColor(0x00000000);
v.setBackgroundColor(0xFF00FF00);
vv = v;
}
}
});
谢谢你提前帮助!