0

所以我对 Android(和 Java)比较陌生。我已经创建了一个类,它AsyncTask在方法中使用 ProgressDialog,static因为我想从多个活动中调用它。

public class SomeClass {

    // Some other methods, etc.

    public static void SomeFunction(final Context context, String FilePath) {
        new AsyncTask<Void, Void, Void>() {
            private ProgressDialog dialog;

            protected void onPreExecute() {
                dialog = ProgressDialog.show(context, "", "Loading...", true); 
            }

            protected Void doInBackground(Void... unused) { 
                for (int i=0; i<15000; i++) 
                    System.out.println("Gatorade me, Bitch: " + i);

            return null;
            }

            protected void onPostExecute(Void unused) { 
                dialog.dismiss();
            }

        }.execute();  
    }

}

dialog = ProgressDialog.show(context, "", "Loading...", true); 问题是该onPreExecute()部分中的语句 AsyncTask给出了错误。没有它,代码运行良好。

那么在不为 AsyncTask 创建新的 java 类文件的情况下,我能做些什么来解决这个问题。我知道这可行,但我只想为整个班级制作一个文件,以便可以在多个程序中使用它。

谢谢你的帮助!

4

1 回答 1

1

检查您在调用函数时是否传递了应用程序上下文或活动上下文。

使用应用程序上下文,您无法显示进度条。如果是这样,请尝试传递活动上下文。

SomeFunction(ActivityName.this,"path");
于 2012-08-24T06:06:13.107 回答