`

progressDialog in AsyncTask

阅读更多
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();
        }
    }

 

分享到:
评论

相关推荐

    文件复制及进度条 android 文件复制 进度条 progressdialog

    最后,为了在用户界面中正确地处理这些操作,你需要在一个子线程(例如AsyncTask)中执行文件复制和进度更新,因为Android UI操作必须在主线程中进行。 总结起来,Android中的文件复制可以通过Java的I/O流实现,而`...

    android studio开发app项目027-ProgressDialogApp.rar

    6. **回调方法**:理解如何使用回调方法(如onPostExecute() in AsyncTask)来处理后台任务完成后的工作,例如关闭ProgressDialog。 7. **布局设计**:使用XML布局文件设计应用界面,可能包括一个启动按钮,点击后...

    Android中使用AsyncTask做下载进度条实例代码

    1. `onPreExecute()`方法在`AsyncTask`执行前调用,通常用于初始化工作,如显示进度对话框(`ProgressDialog`)。 ```java protected void onPreExecute() { super.onPreExecute(); showDialog(DIALOG_DOWNLOAD_...

    ProgressAndLoadingDialog

    1. 异步任务中使用:`ProgressDialog`可以与`AsyncTask`配合使用,当异步任务开始时显示,任务完成时关闭。例如,在`onPreExecute()`方法中创建并显示对话框,在`onPostExecute()`方法中关闭它。 2. 同步调用中使用...

    android下载带有进度条

    如果是使用AsyncTask进行异步操作,可以在`onProgressUpdate`方法中更新UI。以下是一个简单的使用ProgressBar的例子: ```java ProgressBar progressBar = findViewById(R.id.progress_bar); progressBar.setMax...

    Android实现下载zip压缩文件并解压的方法(附源码)

    在`onPreExecute()`方法中,我们可以初始化`ProgressDialog`,设置标题和消息,以及进度条样式,并添加取消监听器。 ```java @Override protected void onPreExecute() { // ... mDialog.show(); } ``` 接着,`...

Global site tag (gtag.js) - Google Analytics