我正在尝试在加载Twitter提要时显示进度对话框…但是当出现提示提要时,进度对话框仍保留在屏幕上.任何帮助深表感谢.
public class MainActivity extends ListActivity { final static String twitterScreenname = "CFABUK"; final static String TAG = "MainActivity"; private AsyncTask<Object, VoID, ArrayList<TwitterTweet>> tat; boolean done; @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); done=false; AndroIDNetworkUtility androIDNetworkUtility = new AndroIDNetworkUtility(); if (androIDNetworkUtility.isConnected(this)) { TwitterasyncTask syn=new TwitterasyncTask(); syn.execute(twitterScreenname,this); ProgressDialog pd = new ProgressDialog(MainActivity.this); pd.setMessage("loading"); pd.show(); do { if(!(syn.getStatus()==AsyncTask.Status.RUNNING)) { pd.dismiss(); pd.cancel(); done=true; } } while(done=false); } else { Log.v(TAG, "Network not Available!"); } }}
解决方法:
您必须在AsyncTasks onPreExecute()上调用ProgressDialog show()方法.例如:
class MyTask extends AsyncTask<VoID, VoID, VoID> { ProgressDialog pd; @OverrIDe protected voID onPreExecute() { super.onPreExecute(); pd = new ProgressDialog(MainActivity.this); pd.setMessage("loading"); pd.show(); } @OverrIDe protected VoID doInBackground(VoID... params) { // Do your request } @OverrIDe protected voID onPostExecute(VoID result) { super.onPostExecute(result); if (pd != null) { pd.dismiss(); } } }
总结 以上是内存溢出为你收集整理的AsyncTask的进度对话 – Android全部内容,希望文章能够帮你解决AsyncTask的进度对话 – Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)