使用volley库时,如果我想更新Response侦听器中的listview适配器,是否应该使用runOnUiThread完成?或者它已经在UiThread中了?
答案 0 :(得分:0)
当适配器尝试修改视图对象时,您可能会收到以下异常:
android.view.ViewRoot $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触及其视图。
所以,为了安全起见,请执行以下操作:
geyActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
});
答案 1 :(得分:0)
来自凌空响应的呼叫处理程序
@Override
public void onResponse(String response) {
Log.d("Response is: ", response);
rui = response; // i put response to public String variable rui
myHandler.post(updateRunnable);
parseJSON(response);
}
和onCreate Activity
myHandler = new Handler();
updateRunnable = new Runnable() {
public void run() {
//call the activity method that updates the UI
updateUI();
}
};
以及您对updateUI的更新
public void updateUI(){
t.setText(rui);
}
并确保您的小部件ID确实存在。
<TextView
android:id="@+id/konten"
android:layout_width="wrap_content"
android:layout_height="wrap_content"