Webサービスによって返されるいくつかのフィールドを使用してアクティビティで動的テキストビューを作成します。ユーザーがデータを編集したい場合、ユーザーは別のアクティビティに送られます。彼が「戻る」ボタンをクリックすると、前のアクティビティのデータを更新したいのですが、正しい方法がわかりません。onResumeの代わりにonRestartメソッドを使用します
これが私のコードです:
データを表示する私の最初のアクティビティ:
public class QueryActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.query);
new WSData() {
@Override
public void onPostExecute(final ArrayList<ArrayList<String>> result) { int nbTextView = result.size();
TextView[] textViewArray = new TextView[nbTextView];
for (int i = 0; i < nbTextView; i++) {
// Horizontal Layout to have the accountName and a button to
// edit on the same line
LinearLayout editLayout = new LinearLayout(
QueryActivity.this);
Button edit = new Button(QueryActivity.this);
edit.setBackgroundDrawable(getResources().getDrawable(
R.drawable.editer));
editLayout.removeAllViewsInLayout();
editLayout.setOrientation(LinearLayout.HORIZONTAL);
dynamicWindow.addView(editLayout,
new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
textViewArray[i] = new TextView(QueryActivity.this);
// retrieve every field from the result
final String accountId = result.get(i).get(0);
final String accountName = result.get(i).get(1);
final String phone = result.get(i).get(2);
final String industry = result.get(i).get(3);
final String website = result.get(i).get(4);
// display only the accountName
textViewArray[i].setText(accountName);
textViewArray[i].setTextColor(0xFFFFFFFF);
textViewArray[i].setGravity(Gravity.CENTER_VERTICAL);
textViewArray[i].setVisibility(View.VISIBLE);
edit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(QueryActivity.this,
EditAccountActivity.class);
startActivity(intent);
}
});
}.execute(sessionName, null, "getAccountInfo");
}
@Override
public void onRestart() {
super.onRestart();
}
私の他の活動、私は「戻る」をクリックしたときに私のデータを更新したい:
public class EditAccountActivity extends Activity {
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});