我正在创建一个应用程序,它从一个位置抓取RSSFeed,解析它,并在丰富的ListView中显示这些项目.我已经让它同步工作,但它挂起初始下载.我使用Google博客中的ImageDownloader异步抓取图像来填充ListView,但是我如何进行线程下载过程,使显示更新等到完成后再将RSS传递给适配器,并在初始化期间显示对话框下载?我对线程和消息处理完全不熟悉!
到目前为止,这是我的onCreate中的代码:
feedWait = new Handler() {
public void handleMessage(Message msg) {
Log.d(TAG, "made it to handler");
UpdateDisplay();
}
};
netThread.start();
Run Code Online (Sandbox Code Playgroud)
这是线程:
private Thread netThread = new Thread() {
public void run() {
getFeed();
feedWait.handleMessage(new Message());
}
};
Run Code Online (Sandbox Code Playgroud)
这会抛出一个错误,说我必须在创建一个处理程序之前调用Looper.prepare(),但如果我在onCreate中执行Looper.prepare(),它就会失败.