java - 如何让 ToggleButton 识别 Android Activity 中的多次点击?

标签 java android android-widget textview togglebutton

我试图让 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/

相关文章:

java - 重置 ContentPane 时,按钮功能不再正常工作 Java swing

android - MediaRecorder : start failed -1 mean? 是什么

Android 日历 DTSTART 和 DTEND 问题

android - 如何设置EditText提示字体透明度?

java - 是否可以重写 android CalendarView 方法?

java - 如何优雅地向 API 发起多个请求

java - 为什么必须为方法引用显式指定类/对象名称?

java - 在考虑夏令时的同时通过Jackson序列化java.sql.Date

android:showAsAction ="always"不适用于选项卡 fragment

Android 小部件 : RemoteViews with TextView android. content.res.Resources$NotFoundException