0

ボタンを含むアクティビティがあります。ボタンを押すと、2 番目のアクティビティが読み込まれます。2 番目のアクティビティには listView とその他の要素があり、ほとんどのデバイスでは読み込みに数秒かかるため、progressDialog を表示して、アクティビティが実際に読み込まれていることをユーザーに知らせたいと考えています。私は次のものを持っています:

編集:

public void rewardFirstNext(View view){

    AsyncTask<Void, Void, Void> progress = new AsyncTask<Void, Void, Void>() {
        private ProgressDialog progressDialog;

        protected void onPreExecute(){
            progressDialog = new ProgressDialog(getApplicationContext());
            progressDialog.setTitle("Loading Installed Applications");
            progressDialog.setMessage("Please wait.");
            progressDialog.setCancelable(false);
            progressDialog.setIndeterminate(true);
            progressDialog.show();
        }

        protected Void doInBackground(Void... voids) {
            PackageManager mPackageManager = getPackageManager();
            List<Applications> packageInfoListApps = new ArrayList<Applications>();
            List<PackageInfo> packageInfoList = mPackageManager.getInstalledPackages(PackageManager.GET_PERMISSIONS);
            List<PackageInfo> installedApps = new ArrayList<PackageInfo>();

            for (PackageInfo apps : packageInfoList) {
                if (!isSystemPackage(apps)) {
                    installedApps.add(apps);
                }

            }
            Collections.sort(installedApps, new Comparator<PackageInfo>() {
                public int compare(PackageInfo o1, PackageInfo o2) {
                    return o1.applicationInfo.loadLabel(getPackageManager()).toString().compareToIgnoreCase(o2.applicationInfo.loadLabel(getPackageManager()).toString());
                }
            });
            for (PackageInfo apps : installedApps) {
                packageInfoListApps.add(new Applications(apps, false, false));
            }

            //what else happens here?
            return null;
        }

        protected void onPostExecute(Void result){
            progressDialog.dismiss();
        }
    };

    progress.execute((Void[]) null);
}
4

1 に答える 1