android - 当用户在另一个 Activity 中编辑了某些字段时更新先前 Activity 中的数据,onRestart?

标签 android dynamic onresume

我在一个 Activity 中创建动态 TextView ,其中包含一些由网络服务返回的字段。当用户想要编辑一些数据时,他被送到另一个 Activity 。当他单击“后退”按钮时,我想更新上一​​个 Activity 中的数据,但我不知道正确的方法。我使用 onRestart 方法而不是 onResume

这是我的代码:

我的第一个显示数据的 Activity :

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();

}

我的其他 Activity ,我想在点击“返回”时更新我的​​数据:

public class EditAccountActivity extends Activity {                 
back.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
             finish();
            }
    });

最佳答案

When he clicks on the "back" button i want to update data in the previous activity

1- 使用 startActivityForResult() 启动 Activity 2。

2 在 2nd Activity 中覆盖返回键事件并设置 intent 和 Result_OK

3- 在第一个 Activity 的 onActivityForResult 中获取数据

关于android - 当用户在另一个 Activity 中编辑了某些字段时更新先前 Activity 中的数据,onRestart?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11210083/

相关文章:

java - 使用子对象解析 json 数组

java - 恢复android中activity的动态UI元素

css - WordPress 仅在前端加载动态 css

Android:OnResume 导致强制关闭

android - 在没有安卓设备的情况下开发安卓应用

java - Android:Eclipse jar 图标为白色且无法访问类

android - 如何从android中的asp页面获取VIEWSTATE和EVENTVALIDATION值

jquery :button selector not able to handle dynamic button fields

ios - 如何检查cordova中在前台或后台运行的应用程序,特别是在ios平台上(onResume和onPause对我不起作用)

Android:如何知道 fragment 是否已完成加载全部内容?