你好,大家好,我做了我已經充滿了我的數據庫一個GridView。現在我通過Google GridView教程創建了一個onItemClickListner。現在我試圖在用戶點擊GridView中的圖片時進行選擇並獲取背景顏色,以便用戶看到他選擇的圖片。 但確切地說,這不是它應該如何工作。我做了一個If用一個布爾值,當用戶點擊下一個View時,舊的View再次獲得transperent,並且新點擊的View獲得了backgroundcolor。但是在我選擇一個視圖並且我上下滾動之後。突出顯示的視圖更改有時是隨機的。
問題
所以我的問題是我在我的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;
}
}
});
THX爲你提前幫助!
你好THX爲你快速的答案,所以我如果換成代碼這個'\t(位置== gridview.getSelectedItemPosition()){ \t \t gridview.setBackgroundColor(0xFF00FF00); \t \t \t } \t否則{ \t \t gridview.setBackgroundColor(00000000); '但是它沒有用,我仍然做錯了什麼? Thx爲您提供幫助(+1)! – safari
您應該在ImageAdapter的getView()方法中編寫此代碼,並且您是否在GridView的OnClick上實現了更改背景顏色。 – Sujit
我真的沒有得到如何實現。你可以給我一下,看看你的ImageAdapter和ListView文件。我真的很喜歡這樣做我自己.. – safari