我有时会遇到此错误
适配器的内容已更改,但ListView未收到 通知。确保未修改适配器的内容 来自后台主题
但我不明白,因为我跑到UI线程。如果你有一个想法,那就。
class LoadingProducts extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
loading_indicator.show();
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (isAdded()) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mAdapter.setData(listProducts);
mAdapter.notifyDataSetChanged();
loading_indicator.hide();
}
});
}
}
@Override
protected Void doInBackground(Void... params) {
get_data();
return null;
}
}
更新: 此问题在搜索刷新列表中显示
以前的代码onQueryTextChange:
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (mQueryStringSearch.length() > 2)
new LoadingProducts().execute();
}
}, 300);