У меня есть активность, которая создает Thread для связи с сервером. Этот поток каждые несколько секунд получает строку. Я хотел бы добавить эту строку для отображения и отображения в активности (в ListView), но при попытке сделать это получаю CalledFromWrongThreadException.Получение вызова из неправильного исключения темы
class MyActivity() extends AppCompatActivity {
ArrayList<String> list;
ArrayAdapter<String> adapter;
public MyActivity(){
...
setContentView(R.layout.main);
list = new ArrayList<>();
ListView myList = (ListView) findViewById(R.id.my_list);
adapter = new ArrayAdapter<>(this, R.layout.list_element, list);
myList.setAdapter(adapter);
Thread thread = new Thread(new Runnable(){
@Override
public void run(){
while(true){
String dataFromServer = networkManager.receiveData();
list.add(dataFromServer);
adapter.notifyDataSetChanged();
}
}
});
}
}
Как я могу это решить?
Я не могу обновить основную (UI) нить внутри рабочего потока. u может использовать asycktask и обновлять UI onPostExecute() метод asynctask – uguboz