更改android中的图标

时间:2012-08-21 11:30:12

标签: android

我想知道如何在imageview中更改图像,但具体方式。我想在我开始申请时有一个默认图标,当我点击它们时,我会更改其他图标。但当我再次点击时,我的图标返回默认值,并再次.... 这就是我现在所得到的:

    final ImageView check_box = (ImageView) rowView.findViewById(R.id.email_list_item_checkbox_icon);

    check_box.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            check_box.setImageResource(R.drawable.checkbox_android);
        }
    });

如何进行下一步并循环使用此解决方案?

3 个答案:

答案 0 :(得分:1)

您可以使用某些标志,该标志对于默认图标变为true,对于选中的图标则为false。使用flag你可以实现你的目标。

答案 1 :(得分:1)

简单,根据您的要求。 只需要一个布尔标志变量。

@Override
public void onClick(View arg0) {
    if ( !flag) {
        check_box.setImageResource(R.drawable.checkbox_android);
        flag = true;
    }
    else {
        check_box.setImageResource(R.drawable.other_image);
        flag = false;
    }
});

答案 2 :(得分:1)

ImageView check_box = (ImageView) rowView.findViewById(R.id.email_list_item_checkbox_icon);

check_box.setTag(R.id.email_list_item_checkbox_icon);

check_box.setOnClickListener(new OnClickListener() {
    public void onClick(View view) {

        Integer integer = (Integer) view.getTag();
        switch(integer) {
        case R.id.email_list_item_checkbox_icon:
            check_box.setDrawableResource(R.drawable.checkbox_android);
            check_box.setTag(R.drawable.checkbox_android);
            break;
        case R.drawable.checkbox_android:
            check_box.setDrawableResource(R.id.email_list_item_checkbox_icon);
            check_box.setTag(R.id.email_list_item_checkbox_icon);
            break;
        }
    }

});