Android – попытка вызвать виртуальный метод по ссылке на нулевой объектAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Android – попытка вызвать виртуальный метод по ссылке на нулевой объект

Сообщение Гость »


Сейчас я работаю над проектом (я впервые работаю с Android Studio).

Код отправляет строку в микроконтроллер для чтения некоторых данных. Если я вызываю метод нажатием кнопки, все работает идеально, но если я вызываю его в конце другого процесса, приложение вылетает с этой ошибкой.< /п> E/AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main Процесс: com.emether, PID: 8490 java.lang.NullPointerException: попытка вызвать виртуальный метод «void com.emether.MainActivity$ConnectedThread.write(java.lang.String)» по ссылке на нулевой объект в com.emether.MainActivity$3.onClick(MainActivity.java:149) в android.view.View.performClick(View.java:8160) в android.widget.TextView.performClick(TextView.java:16221) на com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1194) в com.emether.MainActivity$1.handleMessage(MainActivity.java:114) в android.os.Handler.dispatchMessage(Handler.java:106) в android.os.Looper.loop(Looper.java:246) в android.app.ActivityThread.main(ActivityThread.java:8512) в java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) Код кнопки

buttonToggle.setOnClickListener(new View.OnClickListener() { @Override public void onClick (Просмотр) { Строка cmdText = ноль; cmdText=""; linkedThread.write(cmdText); } }); Здесь я получаю сообщение об ошибке.

handler = новый Handler(Looper.getMainLooper()) { @Override public void handleMessage (Сообщение сообщения) { переключатель (msg.what) { случай CONNECTING_STATUS: переключатель (msg.arg1) { Дело 1: toolbar.setSubtitle("Подключено к " + имя_устройства); buttonConnect.setEnabled(истина); buttonToggle.setEnabled(истина); buttonToggle.performClick()---- **Строка ошибки**; перерыв; Дело 1: toolbar.setSubtitle("Устройство не может подключиться"); buttonConnect.setEnabled(истина); перерыв; } перерыв; Заранее спасибо.

Я пытался отладить приложение, но если я добавлю разбивку в процесс «cmdText», она не станет нулевой, и код будет работать идеально... Это похоже на то, что чему-то нужна некоторая задержка (?), чтобы не было нулевым.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»