在加载数据时显示片段中的不确定进度+加载消息

时间:2013-07-14 21:57:39

标签: android android-layout android-fragments

Android开发中最常见的用例之一是在加载片段数据时显示加载进度和加载消息。

主要的Fragment类及其子类具有默认的空视图,其中包含不确定的进度。但是,无法显示加载消息-e.g.获取数据 -

我想了解您对实现此用例的最佳做法的看法。

提前致谢。 :)

1 个答案:

答案 0 :(得分:1)

您可以使用AsyncTask加载数据并让它返回指示任务进度的值。您可以使用进度条创建要显示的视图,然后创建asynctask并传递活动上下文和进度条。

public class Loader extends AsyncTask<>{

ProgressBar progress;
Context context;
public Loader(Context context, ProgressBar progress)
{
this.progress = progress;
this.context = context;
}

public Integer doInBackground()
{
    // do your loading here and determine what percent is done and call publishProgress()
}

public void onProgressUpdate(Integer... value)
{
    final Integer progressVal = value;

    Runnable updateProg = new Runnable(){
    public void run(){
        this.progress.setProgress(progressVal);
    }};

    Handler main = new Handler(context.getMainLooper());
    main.post(updateProg);

}