为什么按下后退按钮时我的意图没有通过?

时间:2018-07-03 12:20:38

标签: android android-intent

活动A 中,我可以查看string。我在活动A 中按下一个 EDIT 按钮,该按钮启动活动B (并关闭 A )。我在onCreate代码中将字符串从 A 传递到 B 的意图是这样的:

活动A 中,我有:

//for the edit button
edit = (Button) findViewById(R.id.edit);

edit.setOnClickListener(new View.OnClickListener() {
  public void onClick(View view) {

//open the Edit Activity, pass over the string
  Intent i = new Intent(ViewContact.this, EditContact.class);
  i.putExtra("category", categoryname.getText());

//start Activity B
  startActivity(i);

//close Activity A
  finish();

  }
});

活动B 中,我有

Intent i = this.getIntent();
category = i.getStringExtra("category");
//set the EditText to display the value of "category" key
categoryname.setText(category);

到目前为止所有作品。但是,如果在活动B 中按下我的后退按钮以返回到 A ,我想再次显示string。就目前而言,文本框中没有任何值。

活动B 中的后退按钮代码:

//for the back arrow, tell it to close the activity, when clicked
ImageView backButton = (ImageView) logo.findViewById(R.id.back_arrow_id);
backButton.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {

    Intent i = new Intent(getApplicationContext(), ViewContact.class);
    i.putExtra("category",  categoryname.getText());

    //Start Activity A
    startActivity(i);

    //Finish Acitivity B
    finish();
  }
});

然后,当活动A 再次启动时,应使用{p>在onCreate中调用意图

 Intent i = this.getIntent();
category = i.getStringExtra("category");
categoryname = (TextView) findViewById(R.id.textViewCategory);
categoryname.setText(category);

但是,文本框为空。

您能告诉我如何将值从 B 传递回 A 吗?

1 个答案:

答案 0 :(得分:1)

只需删除finish()命令