我的应用程序中有一个ViewFlipper,其中有3 ViewGroups。每个ViewGroup interaction都依赖于数据库中的数据。我正在使用AsyncTask从数据库读取并在完成后返回Cursor。在执行AsyncTask之前,我只想在ViewFlipper中显示一个视图,说“正在加载数据,请稍候。”,这是否有可能?

最佳答案

在您的onPreExecute()中显示进度对话框,然后在onPostExecute()中关闭它。像这样

private class MyAsyncTask extends AsyncTask<Integer, Integer, Integer[]> {
    private ProgressDialog myWait = null;

    // This is on the UI thread itself
    protected void onPreExecute() {
        myWait  = new ProgressDialog(MainActivity.this);
        myWait.setMessage("Loading data, please wait");
        myWait.setCancelable(false);
        myWait.show();
    }

    // Separate worker thread is used here
    protected Integer[] doInBackground(Integer...params) {
        //do the database loading
        return <your result - goes to onPostExecute>;
    }

    // This is on the UI thread itself
    protected void onPostExecute(Integer[] resultCell) {
        if (myWait  != null) {
            myWait.dismiss();
        }
    }
}

关于java - 在执行AsyncTask之前,可以限制ViewFlipper翻转吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6663694/

10-09 09:35