1. 程式人生 > >LiseView GirdView點選改變背景圖片或者背景色

LiseView GirdView點選改變背景圖片或者背景色

1、宣告變數
private MyGridView gird_girdview;
private int oldPosition = -1;//上一個位置初始化
2、得到控制元件
gird_girdview = (MyGridView)findViewById(R.id.gird_girdview);
3、定義兩個背景圖片
Resources resources = XiadanActivity.this.getResources();
btnDrawable1 = resources.getDrawable(R.mipmap.stylecheck);
btnDrawable2 = resources.getDrawable(R.mipmap.stylecheckno
);
4、新增介面卡
mGirdViewAdapter = new GirdViewAdapter(XiadanActivity.this, infoMapList);
gird_girdview.setAdapter(mGirdViewAdapter);
5、設定第一個item預設點選
gird_girdview.post(new Runnable() {
    @Override
public void run() {
        gird_girdview.getChildAt(0).setBackgroundDrawable(btnDrawable1);
        gird_girdview
.setItemChecked(0, true); priceId = infoMapList.get(0).get("PriceId"); } });
5、點選改變背景
gird_girdview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if (oldPosition != -1
) { parent.getChildAt(oldPosition).setBackgroundDrawable(btnDrawable2); } gird_girdview.getChildAt(0).setBackgroundDrawable(btnDrawable2); gird_girdview.setItemChecked(0, false); oldPosition = position; view.setBackgroundDrawable(btnDrawable1); TextView tv = (TextView) view.findViewById(R.id.tv_PriceId); priceId = tv.getText().toString(); } });