1

我想在数据加载但出现此异常时显示旋转刷新。我正在使用异步任务进行处理。请指导如何正确添加进度对话框以提供旋转效果。任何帮助将不胜感激。

我的小部件提供程序 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>
4

1 回答 1

0

得到纠正。我的按钮和进度条的宽度、高度不正确,已更正。也,做了follow。更改代码..这是正确的。在 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>
于 2013-07-20T21:48:51.320 回答