Android “进度”对话框不适用于自定义列表适配器
使用listAdapter列出数据时,“进度”对话框不起作用 我认为这一切都是关于向myAdapter发送活动的Android “进度”对话框不适用于自定义列表适配器,android,eclipse,progressdialog,Android,Eclipse,Progressdialog,使用listAdapter列出数据时,“进度”对话框不起作用 我认为这一切都是关于向myAdapter发送活动的 final myAdapter adapter = new myAdapter(rss_list_activity.this, liste); final ProgressDialog dialog = ProgressDialog.show(this, "Title", "Message", true); final Handler h
final myAdapter adapter = new myAdapter(rss_list_activity.this, liste);
final ProgressDialog dialog = ProgressDialog.show(this, "Title",
"Message", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
dialog.dismiss();
}
};
Thread checkUpdate = new Thread() {
public void run() {
getListFromXml();
lv.setAdapter(adapter);
handler.sendEmptyMessage(0);
}
};
checkUpdate.start();
下面是一些关于线程的信息,如果我是你,我会使用AsyncTask: 类似的方法应该可以奏效:
LoadListTask tsk = new LoadListTask();
tsk.execute((Void) null);
带着这个
private class LoadListTask extends AsyncTask<Void, Void, List<theType>>
{
final ProgressDialog dialog;
@Override
protected void onPreExecute()
{
super.onPreExecute();
dialog = ProgressDialog.show(MainClass.this, "Title", "Message", true);
}
@Override
protected void onPostExecute(List<theType> result)
{
super.onPostExecute(result);
final myAdapter adapter = new myAdapter(rss_list_activity.this, result);
lv.setAdapter(adapter);
dialog.dismiss();
}
@Override
protected List<theType> doInBackground(Void... params)
{
return getListFromXml();
}
}
私有类LoadListTask扩展了AsyncTask
{
最终进程对话框;
@凌驾
受保护的void onPreExecute()
{
super.onPreExecute();
dialog=ProgressDialog.show(MainClass.this,“Title”,“Message”,true);
}
@凌驾
受保护的void onPostExecute(列表结果)
{
super.onPostExecute(结果);
最终myAdapter=新myAdapter(rss\u列表\u活动。此,结果);
低压设置适配器(适配器);
dialog.dismise();
}
@凌驾
受保护列表doInBackground(无效…参数)
{
返回getListFromXml();
}
}
使用dialog.show()代码>以显示对话框。您可以使用dialog.disclose()直接取消对话框代码>dialog=ProgressDialog.show(main.this,“Title”,“Message”,true);有错误,我不能写“main.this”eror是“范围内无法访问main类型的封闭实例”