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
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 に答える
1

デフォルトのアイコンにtrueになり、チェックされたアイコンにfalseになるいくつかのフラグを使用できます。フラグを使用すると、目標の一部を達成できます。

于 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 に答える