public SampleAsyncTask extends AsyncTask<Void, Void, String> {
SampleAsyncTaskListener listener;
public SampleAsyncTask(SampleAsyncTaskListener listener) {
this.listener = listener;
}
protected void onPostExecute(String result) {
if (this.listener != null) {
this.listener.taskCompleted(result);
}
}
public static interface SampleAsyncTaskListener {
public void taskCompleted(String result);
}
}
public class MainActivity extends Activity {
private TextView sampleTextView;
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(...);
sampleTextView = (TextView)findViewById(...);
}
private void callSampleAsyncTask() {
SampleAsyncTask task = new SampleAsyncTask(new SampleAsyncTask.SampleAsyncTaskListener(){
@Override
public void taskCompleted(String result) {
sampleTextView.setText(result);
}
});
}
}
Activity와 AsyncTask 간에 콜백 인터페이스를 사용하세요.