We create an Interface AsyncResponsepublic interface AsyncResponse { void publishLog(String logContent); }We create our AsyncTask:public class FileReaderTaskextends AsyncTask < Void, Void, List < AbstractX > > {// delegate should be set in the Activitypublic AsyncResponse delegate = null;String xyz = "";// ...@Overrideprotected void onPreExecute() { delegate.publishLog(xyz); }@Overrideprotected void onPostExecute(Listx) { ... delegate.publishLog(xyz); } }
Now we can tie together the AsyncTask and Activity:
If you like this post, please give me your 2 cents ($0.02 litterally) to show token of appreciation and encourage me to write more: Donate Bitcoinspublic class FileReaderActivity extends Activity implements AsyncResponse { private static final String TAG = FileReaderActivity.class.getCanonicalName(); FileReaderTask asyncTask = new FileReaderTask(); private TextView logText; /** * Called when the activity is first created. */@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); logText = (TextView) findViewById(R.id.logText); // tell Async Task that this Activity will listenasyncTask.delegate = this; asyncTask.execute(); } /** * This method will receive log from Async Task. * @param logContent */@Override public void publishLog(String logContent) { logText.append(logContent); } }
No comments:
Post a Comment