這里做個筆記逾雄,一般GridView的item點擊事件要更改其狀態(tài)含懊,比如說背景色结借,或者說選中的item的字體顏色筐摘。
mGridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// view 是整個item的布局
for(int i=0,len=parent.getCount();i<len;i++){
View v=parent.getChildAt(i);
if (position == i) {//當(dāng)前選中的Item改變背景顏色
// view.setBackgroundResource(R.drawable.btn_blue_bg);
TextView mChoosedTv = (TextView) view.findViewById(R.id.tv_coin_text);
mChoosedTv.setTextColor(ContextCompat.getColor(this,R.color.blue));
} else {
// v.setBackgroundResource(R.drawable.btn_white_bg);
TextView mNormalTv = (TextView) v.findViewById(R.id.tv_coin_text);
mNormalTv.setTextColor(ContextCompat.getColor(this,R.color.black));
}
}
}
});
嘿嘿,開始沒有反應(yīng)過來船老,parent 是整個GridView的布局咖熟,以為是item的布局;
tv_coin_text 這個TextView 是item中的一個控件柳畔,這里是為了改變選中狀態(tài)下這個文本的字體顏色 馍管;
btn_blue_bg 和 btn_white_bg是個簡單的shape,這里就不貼了荸镊。
2017-3-27--------------------------------------
如果這時候需要進(jìn)去就顯示默認(rèn)選中
for (int i = 0,len=mGridview.getCount();i<len; i++) {
View v = mGridview.getChildAt(i);
if (selectedPosition== i) {//選中的Item改變背景顏色
TextView mChoosedTv = (TextView) v.findViewById(R.id.tv_coin_text);
mChoosedTv.setTextColor(ContextCompat.getColor(ReleaseWarfareActivity.this, R.color.blue));
}
}