1

このコードを Android アプリケーションに使用しています。しかし、このコードの問題は、エミュレーターへのインストール中に完全に機能することです。これをモバイルにインストールしようとするとすぐにインストールされますが、アプリケーションを開くと、アプリケーションが応答しないというエラーメッセージが表示されます。また、スイッチボタンを使用する必要があります。他に使用する方法はありますか?

    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);  
             }
        }
    });
4

2 に答える 2

0

switch1 =(スイッチ)findViewById(R.id.switch1);

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

また、デバイスがAPIレベル14にアップグレードされていることを確認してくださいICE_CREAM_SANDWICH

スイッチウィジェットはAPIレベル14のものであるため。

于 2012-05-19T11:32:40.820 に答える
0

sendSms()新しいスレッドでメソッドを呼び出します。これは簡単な修正です。

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

または、進行状況ダイアログを表示し、送信タスクの完了時に他の処理を実行することもできます。このような場合は、 を使用しAsyncTaskます。良い例についてはGoogle。

于 2012-05-19T11:11:59.787 に答える