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)或者显示ProgressDialog时,屏幕旋转会触发Activity的生命周期重置,使得原有状态无法保留。本篇文章将深入探讨如何在Android中优雅地处理屏幕旋转,确保AsyncTask和...
ProgressDialog是Android系统中一个用于显示进度的对话框组件,它在用户执行耗时操作(如文件下载、上传或后台处理)时提供反馈,让用户知道应用仍在运行并指示任务的进度。这个demo旨在为初学者展示如何有效地使用...
可以使用AsyncTask或者其他异步处理机制,在任务开始时显示ProgressDialog,任务执行过程中更新进度,任务结束后关闭ProgressDialog。 例如,以下是一个使用AsyncTask的简单示例: ```java private class ...
这通常需要结合AsyncTask或其他异步处理机制来实现。 5. **动画效果**:为了提升用户体验,可以添加动画效果,比如旋转的菊花图标或者渐变的颜色。这可以通过在布局文件中使用动画资源或在代码中动态设置动画来完成...
- 对于长耗时的任务,推荐使用`AsyncTask`或`Handler`来更新进度,避免阻塞主线程。 - 尽量避免在主线程中进行耗时操作,这可能导致应用无响应(ANR)。 - 考虑到Android API版本的变化,对于Android 3.0(API级别11...
在Android开发中,ProgressDialog是一个非常常见的组件,用于在应用程序执行耗时操作时向用户显示进度。然而,系统默认的ProgressDialog样式可能无法满足所有设计需求,因此开发者常常需要对其进行自定义,以实现更...
Android推荐使用AsyncTask与ProgressDialog结合,以便在后台线程执行耗时操作,同时在UI线程更新ProgressDialog。`onPreExecute()`方法中显示ProgressDialog,`onProgressUpdate()`更新进度,`onPostExecute()`关闭...
可以使用`AsyncTask`、`Handler`或`Runnable`配合`Looper`实现。 6. **进度更新**:如果需要显示动态进度,可以通过设置`ProgressDialog`的`setMax()`和`setProgress()`方法来更新进度值。记得在UI线程中执行这些...
在Android开发中,多线程是必不可少的技术,用于在后台执行耗时操作,避免阻塞主线程导致应用无...在实际项目中,还可以根据需求扩展`AsyncTask`,例如添加取消任务的能力,或者使用`ProgressDialog`来显示任务进度。
在Android开发中,...在实际开发中,还可以结合使用AsyncTask或Loader等异步处理机制,更好地管理和控制ProgressDialog的生命周期。对于更复杂的需求,还可以考虑使用自定义View或第三方库,如Material Dialogs等。
android自定义ProgressDialog样式详解,一分钟教会你如何自定义android样式。
6. **异步任务与更新进度**:通常,我们会在异步任务(如AsyncTask)的`onProgressUpdate()`方法中更新ProgressDialog的进度,通过`progressDialog.setProgress()`。 7. **监听事件**:ProgressDialog没有内置的...
在Android开发中,AsyncTask是一种常用的工具类,用于在后台执行耗时操作,同时更新UI。这个场景描述的是使用AsyncTask来实现从网络下载图片,并且在下载过程中展示对话框进行进度提示。以下是对这个主题的详细解释...
progressBar.getProgressDrawable().setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_IN); // 设置消息文本 message.setText("自定义的加载信息..."); } } ``` 3. **使用自定义ProgressDialog**:在需要显示...
在Android开发中,ProgressDialog是一个非常常见的组件,它用于在用户界面执行长时间操作时显示一个进度条,给用户反馈,表明应用程序仍在运行并处理任务。在标题"ProgressDialog_android源码_"中,我们关注的是这个...
android progressDialog各种用法android progressDialog各种用法android progressDialog各种用法android progressDialog各种用法
对于更复杂的场景,可以使用`AsyncTask`或者`Handler`来控制加载过程和对话框的显示与消失。同时,为了适配不同版本的Android系统,可能需要对API进行版本检查和兼容性处理。 总的来说,自定义`ProgressDialog`是...
这个小demo中,开发者可能创建了一个自定义的ProgressDialog来显示下载进度,并利用`AsyncTask`来执行后台下载任务。通过学习这些知识点,开发者可以为用户提供更友好的更新体验,同时确保应用的流畅运行。
这可能包括一个后台线程或AsyncTask,该任务在执行过程中定期调用publishProgress()来触发onProgressUpdate()方法,进而更新ProgressDialog的进度。 总的来说,自定义带进度条的ProgressDialog是Android开发中提高...