2011-06-27 16 views
0

進度對話框不工作,同時與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(); 

回答

1

這裏的一對線程的一些信息,我會用一個的AsyncTask如果我是你:

http://developer.android.com/resources/articles/painless-threading.html

類似的東西來這應該工作:

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(); 
    } 
} 
+0

dialog = ProgressDialog.show(main.this,「Title」,「Message」,true);有錯誤,我不能寫「main.this」 –

+0

eror是「沒有範圍內可訪問類型main的封閉實例」 –

0

使用dialog.show();顯示對話框。您直接解僱對話框使用dialog.dismiss();

相關問題