java - Android:onClickListener方法未到达结束,因为它先结束

标签 java android onclicklistener

我遇到问题,以下 onClickListener

 check.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Integral prev;
            if(selm.getSelectedItem().toString().equals("Trapezi"))
                prev=new Trapezi();
            else
                prev=new SimpsonI();
            txtit.setEnabled(!txtit.isEnabled());
            if(txtit.isEnabled()) {
                calc = calc.getComposite();
            }
            else {
                calc = prev;
            }



        }
    });

未到达方法末尾,执行行后停止:

txtit.setEnabled(!txtit.isEnabled());

这是一个很奇怪的问题,所以我无法理解它的原因。我对 Android 很陌生,我正在编写一个简单的应用程序来与 Android 环境变得友好,如果我的问题很愚蠢,这就是原因!谢谢

最佳答案

简单来说,ifelse语句仅对单行代码有效,因此在else语句中添加大括号,例如,

     Integral prev;
    if(selm.getSelectedItem().toString().equals("Trapezi"))
        prev=new Trapezi();
    else
     {
        prev=new SimpsonI();
        txtit.setEnabled(!txtit.isEnabled());
     }
    ...

如果您希望在每种情况下都执行setEnabled,那么甚至不要弄乱代码重新格式化它

 else
     {
        prev=new SimpsonI();            
     }
    txtit.setEnabled(!txtit.isEnabled());

关于java - Android:onClickListener方法未到达结束,因为它先结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290109/

相关文章:

java - 在处理异常时操作列表中的*所有*项目的通用方法

java - 在Mac上用java获取打开窗口的坐标

java - 具有 onclick 帮助的 Recyclerview

Android 自定义形状按钮

java - 如何实现我的 Java 服务器?

java - 如何在 spring-mvc web 应用程序中放置图像/CSS?

java - Android SSL https 发布

android - adb reboot 后 - adb devices 不显示

android - 如何在android中访问不同应用程序的数据库或文件的路径

android - fragment 中的文本到语音