我试图让 ToggleButton 在 TextView 中的文本在两种类型的文本之间来回切换。当我第一次单击时,它会将默认文本切换为替代文本,但当我再次单击时不会将其切换回来。这是我的代码:
ELswitch = (ToggleButton)findViewById(R.id.toggleButton1);
ELswitch.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(ELswitch.isEnabled()==true)
{
InputStream iFile = getResources().openRawResource(R.raw.raw_text_file_alternate);
try {
text.setText(inputStreamToString(iFile));
text.setFocusable(false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
InputStream iFile = getResources().openRawResource(R.raw.raw_text_file_default);
try {
text.setText(inputStreamToString(iFile));
text.setFocusable(false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
我收到的一个消除问题的建议是只使用一个常规按钮和一个计数器,然后修改 2。不过似乎应该有一种方法可以从 ToggleButton 执行此操作。我想我可能错误地实例化了 ToggleButton 或错误地使用了 if 语句,但我找不到错误。有什么想法吗?
最佳答案
看起来您的比较是针对:
ELswitch.isEnabled()==true
这只会告诉您开关是否已启用,而不是是否已选中。您可能想要更改它以检查它是否被选中:
ELswitch.isChecked()==true
您可以在以下指南/文档中找到有关切换按钮的更多信息:
http://developer.android.com/reference/android/widget/ToggleButton.html
从您的问题来看,您似乎还想使用 OnCheckedChangeListener 而不是 OnClickListener。例如,可以在下面的指南中找到:
http://developer.android.com/guide/topics/ui/controls/togglebutton.html
希望对您有所帮助!
关于java - 如何让 ToggleButton 识别 Android Activity 中的多次点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181753/