当前位置: 首页 > 知识库问答 >
问题:

为什么后退按钮被按下时,我的意图没有被传递?[副本]

越俊驰
2023-03-14

在活动A中,我可以查看字符串。我在活动A中按下了一个编辑按钮,它启动活动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();

  }
});
Intent i = this.getIntent();
category = i.getStringExtra("category");
//set the EditText to display the value of "category" key
categoryname.setText(category);
//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();
  }
});
 Intent i = this.getIntent();
category = i.getStringExtra("category");
categoryname = (TextView) findViewById(R.id.textViewCategory);
categoryname.setText(category);

但是文本框是空的。

你能告诉我该如何把值从B传递回A吗?

共有1个答案

卫骏
2023-03-14

只需删除finish()命令

 类似资料:
  • 我正试着从后面取回碎片。它正在被检索,但问题是在按下后退按钮时,当前片段的oncreate视图和后续lifecyce方法也会被调用。下面是我将片段放入backbackback的代码: 以下是片段的代码:

  • 问题内容: 我有这个jQuery来响应被单击的按钮并调用REST方法: 不仅仅是不调用REST方法-此处理程序显然根本没有触发,因为我没有看到任何警报(“ 单击该按钮。 ”或“ 嘿,嘘! ”)。 该脚本 是 被添加- I可以通过它步骤,和瓦尔(如“unitval”) 被 被分配相应的值。 那么,为什么要单击这样声明的按钮: …没做什么? 这是要添加的脚本(从“视图”>“页面源”): 这可能并不相关

  • 我知道以前可能有人问过这个问题,但我似乎找不到适合我情况的合理答案。 我有一个表单,表单中有多个提交按钮,我需要知道按下了哪个按钮。 表单内部的一个小代码段可能如下所示: fmt:消息部分只是考虑了客户端的语言并将单词放在按钮上。 到目前为止,我在submit按钮上添加了一个动作处理程序,并在表单上添加了一个隐藏的input元素,告诉我哪个按钮被按下了,但是我需要在不依赖javascript的情况

  • 问题内容: } 我已经为按键设置了监听器。每当我按下按键时,为什么框架没有关闭? 问题答案: 调用 不会关闭框架,它将定义按下Windows装饰[X]关闭按钮时的行为(已禁用全屏显示)。您可以将其替换为或退出程序。

  • 我对libGDX有一个问题,当我用后退按钮退出后恢复应用程序时,只有一个白色屏幕。 实际应用运行,接受触摸输入,播放声音,但屏幕只是白色。 我读过保持对纹理的静态引用可能会导致这个问题,但我没有这样做。 下面是我的资产代码如何工作的简化版本。 在按下后退按钮后返回应用程序时,重新创建AssetManager,重新打开SplashScreen(为白色),并更新AssetManager直到重新加载所有

  • 当使用Intent启动一个新活动时,活动顶部的栏是否会自动提供后退按钮?我假设它是这样工作的,但没有看到它。如果它没有自动出现,需要什么来使它出现?