android studio: java.lang.RuntimeException: произошла ошибка во время выполнения doInBackground()
Я пытаюсь сделать приложение, используя библиотеку calimero для KNX. В моем приложении я использую несколько кнопок, переключателей, тумблеров и т. Д. Для включения / выключения света. С "Button" все работает хорошо. Я могу включить / выключить свет или открыть / закрыть шторы.
private class button9OnClickListener implements View.OnClickListener {
public void onClick(View view){
try {
falseTask dt = new falseTask();
String adr = "5/1/0";
dt.execute(adr);
} catch (Exception e) {
}
}
}
Но когда я использую "Switch" с OnClickListener или OnCheckedChangeListenser, происходит сбой.
private class switch1OnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener {
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if(compoundButton.isChecked()) {
try {
trueTask dt = new trueTask();
String adr = "5/4/6";
dt.execute(adr);
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
falseTask dt = new falseTask();
String adr = "5/4/6";
dt.execute(adr);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
проблема ниже:
uncaughtException java.lang.RuntimeException: An error occured while executing doInBackground()
и вот мой doInBackground
protected String doInBackground(String...strings){
String adr = strings[0];
try {
final InetSocketAddress localEP = new InetSocketAddress(InetAddress.getByName(hostip), 0);
final InetSocketAddress remoteEP = new InetSocketAddress(remoteip, knxServerPort);
knxLink = new KNXNetworkLinkIP(KNXNetworkLinkIP.TUNNEL, localEP, remoteEP, true, TPSettings.TP1);
pc = new ProcessCommunicatorImpl(knxLink);
pc.write(new GroupAddress(adr), true);
knxLink.close();
}
catch (final KNXException e) {
}
catch (final UnknownHostException e) {
}
return null;
}
Я новичок в Java и Android программирования. Вы можете помочь с этой проблемой? Я не могу понять, почему это работает для "кнопки", но не для "переключателя".
заранее спасибо
ОБНОВИТЬ
Я копирую свой код и пытаюсь использовать Eclipse. Все отлично работает Я могу включить / выключить свет, который я хочу, и нет ошибки. С андроид студией не получилось. Кто-то знает причину?
2 ответа
Наконец я нахожу проблему. Я использую 2 комплекта в MainActivity и использую эти 2 комплекта в doInBackground для своей AsyncTask в SecondActivity. Но я просто передаю первый комплект второму действию и забываю передать второй комплект. Итак, я получил ошибку при выполнении doInBackground() Какую глупую ошибку я допустил...
Я пытался с ToggleButton и Switch в Eclipse. Все работают хорошо. Я поставил именно то, что я использовал в Android Studio. Я копирую весь код без каких-либо изменений. Не могу понять проблему.