Androidで非同期タスクを実行したいのですが、アクティビティ内ではなく別のクラスで作成しました。私の問題は、ProgressBar の可視性を INVISIBLE から GONE に設定すると、NullPointerException が返されることです。理由がわかりません。これはこれまでの私のコードです。
package com.ursabyte.boxi;
import android.os.AsyncTask;
import android.widget.ProgressBar;
public class SyncPercobaan extends AsyncTask<Object, Boolean, String> {
AktifitasUtama ut;
ManajemenFile mf;
ProgressBar loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
ProgressBar loading = (ProgressBar) ut.findViewById(R.id.loading);
loading.setVisibility(ProgressBar.VISIBLE);
}
@Override
protected void onPostExecute(String response) {
super.onPostExecute(response);
ProgressBar loading = (ProgressBar) ut.findViewById(R.id.loading);
loading.setVisibility(ProgressBar.GONE);
ut.browseToRoot();
}
@Override
protected String doInBackground(Object... params) {
String dir_name = (String) params[0];
ut = (AktifitasUtama) params[1];
ManajemenFile mf = new ManajemenFile(ut);
mf.retrieve_user_dir();
return dir_name;
}
}
AktifitasUtama は私のメイン アクティビティです。