Если вы хотите разделить данные и отобразить немного больше, вы можете следовать шаблону слушателя:
Заставьте свою деятельность реализовать новый интерфейс - что-то вроде:
public interface boolean OnTextUpdatedListener {
onTextUpdated(int id, String newText);
}
и реализация (в вашей деятельности):
@Override
public boolean onTextUpdated(int id, String newText) {
TextView tv = (TextView)findViewById(id);
if(tv == null) {
return false;
}
tv.setText(newText);
return true;
}
И AsyncTask, который выглядит примерно так:
public class TextUpdater extends AsyncTask<Void, String, Void> {
OnTextUpdatedListener mListener;
int mId;
volatile boolean mRunning;
public TextUpdater(OnTextUpdatedListener listener, int id) {
super();
mListener = listener;
mId = id;
}
@Override
protected void onProgressUpdate(String... values) {
mRunning = mListener.onTextUpdated(mId, values[0]);
}
@Override
protected Void doInBackground(Void... params) {
mRunning = true;
while(mRunning) {
//retrieve text from network
this.publishProgress(downloadedText);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
mListener = null;
}
}
Ваша активность контролирует пользовательский интерфейс, AsyncTask загружает и уведомляет, когда что-то обновляется.