我正在尝试检查切换按钮是否 isChecked() 以及它的背景是否等于特定的可绘制对象。我一直试图得到这个超过 2 小时,但我没有找到解决方案。
切换按钮设置了一个 xml,其中包含在按钮状态更改时应该设置的图像
这是我到目前为止所尝试的
tbTest1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (tbTest1.isChecked())
{
if(tbTest1.getBackground().equals("testimg.png")) {
Toast.makeText(Test.this, "Test Image Added", Toast.LENGTH_LONG).show();
}
}
else
{
//fileNames.add("testimg.png");
//isChecked--;
Toast.makeText(Test.this, "Test Image Removed", Toast.LENGTH_LONG).show();
}
}
});
这没有结果
我也试过这个
tbTest1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (tbTest1.isChecked() && tbTest1.getBackground().equals(R.drawable.testimg))
{
Toast.makeText(Test.this, "Test Image Added", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(Test.this, "Test Image Removed", Toast.LENGTH_LONG).show();
}
}
});
这直接跳到 ELSE 语句
这是testimg的xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/testimg1"
android:state_checked="false" />
<item android:drawable="@drawable/testimg2"
android:state_checked="true"/>
</selector>
Activity 加载时,TB 状态为关闭,图像设置为 testimg1。当用户按下 TB 时,状态变为 on,图像变为 testimg2,并将 Toast 一条消息,表明它已添加(到稍后添加的 ArrayList)。当用户再次按下它时,应该有一个 Toast 表示它已被删除(从所述 ArrayList 中)