class QueryBibleDetail extends AsyncTask<Integer, Integer, String>{ private Activity activity; private ProgressDialog dialog; private Context context; public QueryBibleDetail(Activity activity){ this.activity = activity; this.context = activity; this.dialog = new ProgressDialog(activity); this.dialog.setTitle("查询经文"); this.dialog.setMessage("正在查询:"+tome+chapterID+":"+sectionFromID+"-"+sectionToID); if(!this.dialog.isShowing()){ this.dialog.show(); } } @Override protected String doInBackground(Integer... params) { Log.d(TAG,"经文doInBackground"); publishProgress(params[0]); if(sectionFromID > sectionToID){ return ""; } String queryBible = "action=query_bible&article="+chapterID+"&id="+tomeID+"&verse_start="+sectionFromID+"&verse_stop="+sectionToID+""; try{ String bible = (Json.getRequest(HOST+queryBible)).trim(); bible = android.text.Html.fromHtml(bible).toString(); return bible; }catch(Exception e){ e.printStackTrace(); } return null; } @Override protected void onPostExecute(String bible){ Log.d(TAG,"经文onPostExecute"); TextView bibleBox = (TextView) findViewById(R.id.bibleBox); bibleBox.setText(bible); this.dialog.dismiss(); } }
相关推荐
最后,为了在用户界面中正确地处理这些操作,你需要在一个子线程(例如AsyncTask)中执行文件复制和进度更新,因为Android UI操作必须在主线程中进行。 总结起来,Android中的文件复制可以通过Java的I/O流实现,而`...
6. **回调方法**:理解如何使用回调方法(如onPostExecute() in AsyncTask)来处理后台任务完成后的工作,例如关闭ProgressDialog。 7. **布局设计**:使用XML布局文件设计应用界面,可能包括一个启动按钮,点击后...
1. `onPreExecute()`方法在`AsyncTask`执行前调用,通常用于初始化工作,如显示进度对话框(`ProgressDialog`)。 ```java protected void onPreExecute() { super.onPreExecute(); showDialog(DIALOG_DOWNLOAD_...
1. 异步任务中使用:`ProgressDialog`可以与`AsyncTask`配合使用,当异步任务开始时显示,任务完成时关闭。例如,在`onPreExecute()`方法中创建并显示对话框,在`onPostExecute()`方法中关闭它。 2. 同步调用中使用...
如果是使用AsyncTask进行异步操作,可以在`onProgressUpdate`方法中更新UI。以下是一个简单的使用ProgressBar的例子: ```java ProgressBar progressBar = findViewById(R.id.progress_bar); progressBar.setMax...
在`onPreExecute()`方法中,我们可以初始化`ProgressDialog`,设置标题和消息,以及进度条样式,并添加取消监听器。 ```java @Override protected void onPreExecute() { // ... mDialog.show(); } ``` 接着,`...