我想在加载数据时显示旋转刷新但是获得此异常。我正在使用异步任务进行处理。请指导如何正确添加进度对话框以提供旋转效果。我们将不胜感激。
我的小部件提供程序class-onUpdate()方法
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
//---
mProgressDialog = new ProgressDialog(context);
mProgressDialog.setIndeterminate(false);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
try {
fetchTask.execute().get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mContext = context;
}
protected void onPreExecute(){
mProgressDialog.show();
//updateViews.setViewVisibility(R.id.refresh, View.GONE);
//updateViews.setViewVisibility(R.id.progress, View.VISIBLE);
}
protected Store doInBackground(URL... arg0) {
//my stuff
}
protected void onPostExecute(Store storeObj) {
mProgressDialog.dismiss();
//updateViews.setViewVisibility(R.id.progress, View.GONE);
//updateViews.setViewVisibility(R.id.refresh, View.VISIBLE);
pushWidgetUpdate(mContext,updateViews);
}
我的xml
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/refresh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginLeft="25dp"
android:layout_marginRight="20dp"
android:background="#0079C1"
android:src="@drawable/navigation_refresh"
android:visibility="visible" />
<ProgressBar
android:id="@+id/progress"
android:indeterminate="true"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:visibility="gone" />
</RelativeLayout>
答案 0 :(得分:0)
纠正错误。我有不正确的宽度,按钮和进度条的高度,更正了。另外,做了foll。更改代码..这是正确的。在onUpdate中无需做任何事。
protected void onPreExecute(){
updateViews.setViewVisibility(R.id.refresh, View.GONE);
updateViews.setViewVisibility(R.id.progress, View.VISIBLE);
pushWidgetUpdate(mContext,updateViews);
}
protected void onPostExecute(Store storeObj) {
//my stuff
updateViews.setViewVisibility(R.id.progress, View.GONE);
updateViews.setViewVisibility(R.id.refresh, View.VISIBLE);
pushWidgetUpdate(mContext,updateViews);
}
//My Layout file
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/refresh"
android:layout_width="70dp"
android:layout_height="80dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="20dp"
android:background="#0079C1"
android:src="@drawable/navigation_refresh"
android:visibility="visible" />
<ProgressBar
android:id="@+id/progress"
android:indeterminate="true"
style="?android:attr/progressBarStyle"
android:layout_width="70dp"
android:layout_height="80dp"
android:layout_margin="10dp"
android:indeterminateBehavior="cycle"
android:visibility="gone" />
</RelativeLayout>