首页>代码>Android GridView实现全选反选效果>/GridView/src/com/kiritor/GridItem.java
package com.kiritor;
/**
 * @author Kiritor
 * 实现自己的View继承Checable接口*/
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Checkable;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class GridItem extends RelativeLayout implements Checkable {

    private Context mContext;
    private boolean mChecked;//判断该选项是否被选上的标志量
    private ImageView mImgView = null;
    private ImageView mSecletView = null;

    public GridItem(Context context) {
        this(context, null, 0);
    }

    public GridItem(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public GridItem(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
        mContext = context;
        LayoutInflater.from(mContext).inflate(R.layout.grid_item, this);
        mImgView = (ImageView) findViewById(R.id.img_view);
        mSecletView = (ImageView) findViewById(R.id.select);
    }

    @Override
    public void setChecked(boolean checked) {
        // TODO Auto-generated method stub
        mChecked = checked;
        setBackgroundDrawable(checked ? getResources().getDrawable(
                R.drawable.background) : null);
        mSecletView.setVisibility(checked ? View.VISIBLE : View.GONE);//选上了则显示小勾图片
    }

    @Override
    public boolean isChecked() {
        // TODO Auto-generated method stub
        return mChecked;
    }

    @Override
    public void toggle() {
        setChecked(!mChecked);
    }

    public void setImgResId(int resId) {
        if (mImgView != null) {
            mImgView.setBackgroundResource(resId);//设置背景
        }
    }

}
最近下载更多
2252391595  LV1 1月18日
wanglong_wang  LV13 2022年3月16日
caigenjiang  LV1 2020年5月12日
恋伊love  LV9 2018年12月17日
seriousalpha2018  LV1 2018年12月13日
qingkuankuan  LV1 2018年7月24日
103155  LV1 2018年7月22日
分位数  LV2 2018年6月18日
Mclnt0sh  LV1 2018年3月27日
yinshilin  LV1 2018年3月12日
最近浏览更多
2252391595  LV1 1月18日
sks666  LV5 2023年2月19日
uni-code_0123  LV1 2022年11月16日
wanglong_wang  LV13 2022年3月16日
lingtiejing  LV15 2022年2月23日
wyx065747  LV67 2021年1月3日
a566566  LV9 2020年12月27日
cuiaaaaaa  LV1 2020年12月12日
wangyaru  LV1 2020年6月26日
doremi  LV6 2020年6月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友