有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在安卓应用程序中使用开关按钮

我将此代码用于我的安卓应用程序。但这段代码的问题是,在emulator上安装时,它可以完美地工作。当我尝试在我的手机上安装它时,它已安装,但在打开应用程序时,它会显示错误消息,表示应用程序没有响应。我需要使用开关按钮。还有其他的使用方法吗

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

    switch1.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {  
             if(switch1.getText().toString().equals("On"))
             {
                String message = "t030s005n123456";                 

                sendSMS(phoneNo, message);          
             }

             else if(switch1.getText().toString().equals("Off"))
             {
                String message = "notn123456";                 

                sendSMS(phoneNo, message);  
             }
        }
    });

共 (2) 个答案

  1. # 1 楼答案

    switch1=(Switch)findviewbyd(R.id.switch1)

    Api levels lesser than 14 does not support your switch1 obj must be null.. 
    place if(switch1!=null)
    {
    //click listener
    }
    

    还要确保您的设备已升级到api级别14ICE_CREAM_SANDWICH

    因为开关小部件来自api级别14

  2. # 2 楼答案

    在新线程中调用sendSms()方法。这只是一个快速解决方案

    new Thread(new Runnable() {
            @Override
            void run() {
                sendSms();
            }
        }
    }).start();
    

    或者,您可能希望显示“进度”对话框,并在完成发送任务时执行其他操作。在这种情况下,使用AsyncTask。谷歌就是一个很好的例子