0

我想知道如何以特定方式更改 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);
        }
    });

我该如何做下一步并循环这个解决方案?

4

3 回答 3

1

您可以使用一些标志,它们对默认图标变为真,对选中图标变为假。使用标志,您可以实现您的部分目标。

于 2012-08-21T11:36:30.680 回答
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;
    }
});
于 2012-08-21T11:36:34.230 回答
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;
        }
    }

});
于 2012-08-21T11:43:06.550 回答