Android “进度”对话框不适用于自定义列表适配器

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

使用listAdapter列出数据时,“进度”对话框不起作用

我认为这一切都是关于向myAdapter发送活动的

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类型的封闭实例”