Callback AsyncTask to Fragment
1247 ワード
----------------------------------------------
-----------------------------------------------------
-------------------------------------------------------------------------
// Fragment
public class TestFragment extends Fragment {
//
private void methodThatStartsTheAsyncTask() {
TestAsyncTask testAsyncTask = new TestAsyncTask(new FragmentCallback() {
@Override
//
public void onTaskDone() {
methodThatDoesSomethingWhenTaskIsDone();
}
});
}
private void methodThatDoesSomethingWhenTaskIsDone() {
//
}
// Fragment
public interface FragmentCallback {
public void onTaskDone();
}
}
-----------------------------------------------------
public class TestAsyncTask extends AsyncTask<Void, Void, Void> {
private FragmentCallback mFragmentCallback;
public TestAsyncTask(FragmentCallback fragmentCallback) {
mFragmentCallback = fragmentCallback;
}
@Override
protected Void doInBackground(Void... params) {
//
return null;
}
//
@Override
protected void onPostExecute(Void result) {
mFragmentCallback.onTaskDone();
}
}
-------------------------------------------------------------------------