通过选中多个 CheckBox 从 CheckBox 图像访问 ImageView 的 scr
Access scr for ImageView from CheckBox image by checking more than one CheckBox
我试图通过访问 CheckBox 中的图像源来更改 ImageView 中的图像。这是我的 xml 代码的一部分
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/myimage"
android:id="@+id/img"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/image1"
android:id="@+id/q4op1"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/images2"
android:id="@+id/q4op2"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/images"
android:id="@+id/q4op3"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/download"
android:id="@+id/q4op4"/>
我想检查复选框是否被选中。如果选中,则 CheckBox 的 drawableRight 中的图像应该出现在 ImageView 中。
你能指导我如何为此编写 java 代码吗?
我认为这可能会解决您的问题。下面的代码将为您提供所有可绘制对象。
Drawable[] drawables = textView.getCompoundDrawables();
现在,如果你想比较,你可以使用
Bitmap bmp1 = ((BitmapDrawable)drawables[1] ).getBitmap();
Bitmap bmp2 = ((BitmapDrawable)getResources().getDrawable(R.drawable.twt_hover)).getBitmap();
if(bmp1 == bmp2)
{
//Code block
}
或
你的情况
// Left(0), top(1), right(2), bottom(3) drawables.
// This is the right drawable.
Drawable rightCompoundDrawable = drawables[2];
用于检查复选框是否被选中
cb = (CheckBox) rowView.findViewById(R.id.q4op1);
if(cb.isChecked()) {
// do your drawable task here
}
我试图通过访问 CheckBox 中的图像源来更改 ImageView 中的图像。这是我的 xml 代码的一部分
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/myimage"
android:id="@+id/img"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/image1"
android:id="@+id/q4op1"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/images2"
android:id="@+id/q4op2"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/images"
android:id="@+id/q4op3"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/download"
android:id="@+id/q4op4"/>
我想检查复选框是否被选中。如果选中,则 CheckBox 的 drawableRight 中的图像应该出现在 ImageView 中。
你能指导我如何为此编写 java 代码吗?
我认为这可能会解决您的问题。下面的代码将为您提供所有可绘制对象。
Drawable[] drawables = textView.getCompoundDrawables();
现在,如果你想比较,你可以使用
Bitmap bmp1 = ((BitmapDrawable)drawables[1] ).getBitmap();
Bitmap bmp2 = ((BitmapDrawable)getResources().getDrawable(R.drawable.twt_hover)).getBitmap();
if(bmp1 == bmp2)
{
//Code block
}
或
你的情况
// Left(0), top(1), right(2), bottom(3) drawables.
// This is the right drawable.
Drawable rightCompoundDrawable = drawables[2];
用于检查复选框是否被选中
cb = (CheckBox) rowView.findViewById(R.id.q4op1);
if(cb.isChecked()) {
// do your drawable task here
}