2012-06-26 4 views
1

У меня есть короткий вопрос. Как обновить TextField без использования AsyncTask? В моем классе активности у меня есть функция, как это:Динамическое обновление TextField без использования AsyncTask

private void CheckBlueToothState(){ 

     if (bluetoothAdapter == null){ 
      status.setText("Bluetooth NOT support."); 
     }else{ 
      if (bluetoothAdapter.isEnabled()){ 
       if(bluetoothAdapter.isDiscovering()){ 
        status.setText("Bluetooth is currently in device discovery process."); 
       }else{ 
        status.setText("Bluetooth is Enabled"); 
        search.setEnabled(true); 
       } 
      }else{ 
       status.setText("Bluetooth is NOT Enabled"); 
       Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
       startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); 
      } 
     } 
    } 

, который проверяет, если устройство есть Bluetooth, он включен или выключен, вы, надеюсь, получили картину. Так снова на мой вопрос. Как я могу динамически изменить текстовое поле status, если я включу bluetooth, и наоборот?

+0

Попробуйте использовать обработчик для обновления текстов в потоке пользовательского интерфейса? – jpa

ответ

6

Зарегистрироватся BroadcastReceiver с действительным действием BluetoothAdapter.ACTION_STATE_CHANGED и переместите текст, обновив код до onReceive.

Пример кода можно найти here.

Смежные вопросы