Установить значение TextView внутри потока в Android - PullRequest
0 голосов
/ 03 июля 2011

Я получаю крушение при неблагоприятных обстоятельствах. Я запускаю поток следующим образом:

Thread t = new Thread(){
    public void run() {    
            text.setText("hello");    
    }
};
t.start;

Сбой происходит, если я пытаюсь установить значение TextView в моем xml (ссылка на текст уже доступна).

Я делаю что-то в корне неправильно? Пожалуйста, укажите, где я иду не так.

Ответы [ 3 ]

2 голосов
/ 03 июля 2011

Вы можете получить доступ только к компонентам пользовательского интерфейса из потока пользовательского интерфейса.

В Android есть несколько вещей, облегчающих эту задачу, например, метод runOnUiThread и класс AsyncTask .

Для получения дополнительной информации см. Потоки безболезненно и Процессы и потоки в документации Android.

0 голосов
/ 03 июля 2011

используйте класс Handler и проверьте его на наличие более подходящих методов

Handler mHandler;
 mHandler=new Handler(){
hdandleMessage(Message what){

text.setText("hello");

}

};
Thread t = new Thread(){
    public void run()
    {

           mHandler.sendEmptyMessage(int what)

        }
};
t.start;
0 голосов
/ 03 июля 2011

Вы должны получать доступ к виджетам набора инструментов Android только в потоке пользовательского интерфейса.Читать http://developer.android.com/resources/articles/painless-threading.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...