LiseView GirdView点击改变背景图片或者背景色

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24349695/article/details/77747848
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();
    }

});

猜你喜欢

转载自blog.csdn.net/qq_24349695/article/details/77747848