【发布时间】:2015-12-31 16:17:45
【问题描述】:
我无法通过 onRefresh 处理程序在我的 UI 线程上刷新我的列表(网络线程,所以没有 UI 线程),这是我尝试过的代码:
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
try {
final SharedPreferences sharedPrefs = AktuellesActivity.this.getSharedPreferences("gemeindeMuckendorf", Context.MODE_PRIVATE);
List<News> newsList = Utils.getNewsFromHTML(Utils.getHTML("www.muckendorf-wipfing.at/22-0-Aktuelle+Meldungen.html"));
SharedPreferences.Editor edit = sharedPrefs.edit();
edit.putString("aktuellesList", new ObjectSaver().saveString(newsList));
edit.commit();
final List<String> headers = new ArrayList<String>();
for(News news : newsList)
headers.add(news.getHeader());
headers.add("Test");
AktuellesActivity.this.runOnUiThread(new Runnable() {
@Override
public void run(){
lv.setAdapter(new ArrayAdapter(AktuellesActivity.this, android.R.layout.simple_list_item_1, headers));
lv.invalidate();
}
});
} catch (Exception e) {
e.printStackTrace();
}
mSwipeRefreshLayout.setRefreshing(false);
}
}, 2000);
}
我有一个获取字符串的列表,将其放入列表中,然后我希望它获取列表以替换旧列表,但显然它不起作用.. 没有做任何事情。我无法准确测试它,但我很确定它不起作用。有人可以帮我吗? 谢谢!
【问题讨论】:
-
html = Utils.getHTML("muckendorf-wipfing.at/22-0-Aktuelle+Meldungen.html"); 从 uiThread 中删除。
-
@tinysunlight 现在出了,还是不行。
标签: java android multithreading list swiperefreshlayout