1

ボタンが押されたときにBluetoothデバイスでいくつかのパケットを送受信するときにProgressDialog(Spinner)を実行したいと思います。これがコードです

 button.setOnClickListener(new OnClickListener() {

          public void onClick(View v) {


          Handler handler = new Handler();
          Runnable r=new Runnable()
          {
              public void run()
              {
                    dialog1 = ProgressDialog.show(Test.this, "",
                           "Receiving. Please wait...", true);



              }
          };
          handler.post(r);

          blueToothServer.getDevicebyMac();
          blueToothServer.rfSocket();
          blueToothServer.cancelDiscovery();
          blueToothServer.connectSocket();
          //toastMessage("Socket connected");
          blueToothServer.ipstream();
          blueToothServer.opStream();
          blueToothServer.SendnRXDataToBTServer(2, "some String");
          String Result1 = blueToothServer.response(1);
          tv1.setText("Temperatue : " + Result1);
          dialog1.dismiss();
 }

しかし、ProgressDialogを取得していません。しかし、私はパケットを送受信することができます。しかし、blueToothServerの操作にコメントすると、進行状況ダイアログが表示されます。両方が手に入る状況を教えてください。ありがとうございました。

4

1 に答える 1

1

ProgressDialogUIスレッドにを表示し、バックグラウンドスレッドでBluetooth操作を実行する必要があります。それはまさにこの目的のためであり、AsyncTask提供されています。

この答えを見てください:https ://stackoverflow.com/a/3347405/1321873

于 2012-10-13T06:23:47.437 に答える