我有兩個活動(Activity1
和Activity2
)和一個的AsyncTask(AsyncTask1
)如何從的AsyncTask
Activity1
管理活動有一個按鈕,在點擊控制權交給Activity2
,Activity2
有AsyncTask
並在該任務的onPostExecute()
我想處理Activity1
中的TextView
。
實施例:
活性1
public class Activity1 extends RoboSherlockActivity {
@Inject (R.id.name) EditText name;
@Inject (R.id.mybutton) Button button;
public void onCreate (Bundle savedInstanceState) {
...
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent activity2 = new Intent(context, Activity2.class);
startActivity(activity2);
}
});
....
}
}
活性2
public class Activity2 extends RoboSherlockActivity {
@InjectView (R.id.name) EditText secret;
....
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Save")
return true;
}
...
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem.getTitle().toString().equalsIgnoreCase("Save")) {
new AsyncTask1(this, secret.getText().toString()).execute();
}
return true;
}
}
AsyncTask1
public class AsyncTask1 extends RoboAsyncTask<String> {
Activity2 activity;
String secret;
public AsyncTask1 (Activity2 activity, String secret) {
this.activity = activity;
this.secret = secret;
}
public String call() throws Exception {
//call the server here
return "";
}
protected void onSuccess(String result) {
activity.finis();
//HERE I WANT TO SET THE NAME: name.setText(result); //How can I do this??
}
}
問題
如何在AsyncTask的onSuccess
中設置名稱?