에서 실행되고 있지 notifyDataSetChanged :ArrayAdapter와는 내가 수행하여 만들 새 스레드 내에서 아래의 코드를 실행하고 UI 스레드
은new Thread(new Runnable() {
public void run() {
// CODE BELOW
}
}).start();
은 그래서 내 runonUI의 코드가 실행되고 있지 않습니다. 나는 어댑터를 업데이트하기 위해 UI 스레드에서 실행해야한다는 인상하에있다. 또한 어댑터를 올바르게 업데이트합니까?
Log.d(App.app.chats.toString(),"THIS IS THE TEXTS WE SHOULD DISPLAY");
((ArrayAdapter)App.app.chatDisplay.getAdapter()).clear();
for (int i = 0; i < App.app.chats.size(); i++) {
((ArrayAdapter)App.app.chatDisplay.getAdapter()).add(App.app.chats.get(i));
}
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d("THIS IS ACTUALLY RUNNING","TEST");
((BaseAdapter)App.app.chatDisplay.getAdapter()).notifyDataSetChanged();
}
});
이 runOnUiThread가 실행 된 적이없는 경우이 코드에 도달하지 않았을 가능성이 큽니다. 나는 전체 코드를 보면 더 말할 수 있습니다 ... – Mike
@Mike가 말했듯이, 코드에는 결코 도달하지 못했습니다. 어쩌면 당신은 worker-thread 외부에서 runOnUIThread를 사용하고 있을까요? –
위의 행이 실행되면 해당 runOnUi를 실행하는 데 필요한 명령이 있습니까? – user3089187