У меня возникла некоторая ошибка, когда я пытаюсь вызвать общедоступную переменную в моем потоке.Публичные переменные вызова в Thread
Первый мой код:
public class MyPhoneStateListener extends BroadcastReceiver {
public String number;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
number = "123";
t.start();
}
public Thread t = new Thread(new Runnable() {
@Override
public void run() {
handler.sendMessage(handler.obtainMessage(SET_TEXT, number));
}
});
public Hander handler = new Handler() {
[blabla...]
}
}
Ошибка я получаю: /AndroidRuntime (3737): java.lang.StringIndexOutOfBoundsException: длина = 0; regionStart = 0; regionLength = -1
Я считаю, что это исключение nullpointer или что-то в этом роде.
что я не так?
Спасибо, Prexx
«Я считаю, что это исключение nullpointer или что-то в этом роде». - Нет, это 'StringIndexOutOfBoundsException' - вы зарегистрировали это! К сожалению, вы не указали нам полную трассировку стека или не включили код в обработчик. –
Черт, получил ответ, спасибо в любом случае: http://stackoverflow.com/questions/6309732/java-multi-threading-passing-a-data-structure-to-the-thread – Prexx
Нет, я почти уверен, что это исключение StringIndexOutOfBoundsException. Покажите свой фактический код и полную трассировку стека. – kabuko