当前位置: 首页 > 知识库问答 >
问题:

android.widget.切换切换事件侦听器?

常自怡
2023-03-14

我已经尝试了android widget开关事件侦听器的答案中的代码,但帖子没有提到我试图使用它时遇到的错误。

在建议代码的第二行:

    switch1 = (Switch) findViewById(R.id.switch1);

    switch1.setOnCheckedChangeListener(new OnCheckedChangedListener() { //This line has the error
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            aTextView.setText("Switch was toggled");
        }
    });

此错误触发

CompoundButton类型中的方法setOnCheckedChangeListener(CompoundButton. OnCheckedChangeListener)不适用于参数(new OnCheckedChangedListener(){})

我该如何解决这个问题?我只想在开关更改时调用一个函数——而不是单击它时。谢谢。

共有2个答案

秦英发
2023-03-14

嗨,请看一下http://custom-android-dn.blogspot.in/2013/01/how-to-use-and-custom-switch-in-android.html

我们可以用特定的方式做到这一点

 switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // TODO Auto-generated method stub
                if (buttonView.isChecked()){
                                               //do something   }
                else{
                    //do something 
                }
            }
    });
白淇
2023-03-14

将侦听器设置为该值,因为您的类实现了compoundbutton,如下所示。。。

switch1.setOnCheckedChangeListener(this);

然后在代码中添加此方法。。。

    @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            boolean = isChecked;
            //whatever you want
        }

编辑:如果尚未实现CompoundButton。一旦选中ChangedListener,请使用此。。。

switch.setOnCheckedChangeListener(new OnCheckedChangeListener(

            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                // TODO Auto-generated method stub

            }

        });
 类似资料:
  • 一个可切换的组件实际上是包含了多个组件, 选择渲染其中某个组件的组件. 我们使用对象来将props的值和组件做上映射. import HomePage from './HomePage.jsx'; import AboutPage from './AboutPage.jsx'; import UserPage from './UserPage.jsx'; import FourOhFourPage

  • 在开头前几章我们曾讲过怎么在Vim里设置选项。 对于布尔选项,我们可以使用set someoption!来"切换"选项。 如果我们能给这个命令创建一个映射,那就再好不过了。 执行下面的命令: :::vim :nnoremap <leader>N :setlocal number!<cr> 在normal模式中按下<leader>N看看。Vim将会在开启和关闭行号显示之间切换。 像这样的"切换"映

  • 所以我正在尝试制作一个basic程序来学习更多关于Java的知识,而我在切换屏幕时遇到了麻烦。我想有一个display类,我可以在其他类中调用它来处理所有的面板等等,然后创建一个类来构建每个面板。我现在尝试做的是使用startmenu类中的一个按钮使用display类中的一个方法从一个面板切换到另一个面板。 以下是类中的代码: 下面是我的display类:

  • 本章将讨论jQueryUI视觉效果的toggle()方法。 toggle()方法切换show()或hide()方法,具体取决于元素是否隐藏。 语法 (Syntax) toggle()方法具有以下语法 - .toggle( effect [, options ] [, duration ] [, complete ] ) Sr.No. 参数和描述 1 effect 这是一个String,指示要用于

  • 我正在使用Kivy python库。 我定义了两个小部件。 当程序运行时,我运行第一个小部件。 当按下widgets按钮时,我希望它消失并被第二个widget替换。 这是两个小部件的. kv 我的主python文件运行应用程序,并返回第一个小部件 我的第一个小部件有一个回调。这就是问题代码所属的位置 这里的想法是有一个用户界面管理器。此管理器不像树那样运行UI,而是像列表和堆栈一样运行UI。该列表

  • 问题内容: 我想在CSS之间切换,因此当用户单击按钮()时,它会显示菜单()并更改CSS,而当用户再次单击它时,它将恢复正常。到目前为止,这就是我所拥有的: 有人可以帮忙吗? 问题答案: 对于1.9以下的jQuery版本请参阅https://api.jquery.com/toggle- event 但是,在这种情况下使用类比直接设置CSS更好,请查看提及的addClass和removeClass方