gpt4 book ai didi

android - 使用 Intent 将字符串返回到先前的 Activity

转载 作者:太空狗 更新时间:2023-10-29 13:29:02 24 4
gpt4 key购买 nike

我有 2 个 Activity ,其中第二个 Activity 返回用户的文本输入并分别更改 TextView 。但是,当我从第二个 Activity 传递文本输入时,它们返回为空。

返回主 Activity 的第二个 Activity 的 onClick 方法:

public void onClick(View v)
{
Intent i = new Intent();
EditText txt1 = (EditText)findViewById(R.id.txt_name);
i.putExtra("str3", txt1.getText());

EditText txt2 = (EditText)findViewById(R.id.txt_address);
i.putExtra("str4", txt2.getText());

setResult(RESULT_OK, i);
finish();
}
});
}

第二个 Activity 完成后调用的方法

public void onActivityResult(int requestCode,int resultCode, Intent data)
{
TextView txt = (TextView)findViewById(R.id.txt_one);
txt.setText(getIntent().getStringExtra("str3"));
}

最佳答案

试试下面的

 public void onActivityResult(int requestCode,int resultCode, Intent data)
{
txt.setText(getIntent().getStringExtra("str3"));
}

同时将所有初始化移动到 onCreate

TextView txt ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
txt = (TextView)findViewById(R.id.txt_one);
... // rest of the code
}

同样适用于您的编辑文本。声明为类成员并在 onCreate 中初始化 无需每次单击按钮时都初始化

编辑:

也可以使用下面的

public Editable getText()

在 API 级别 1 中添加

返回 TextView 显示的文本。如果使用 BufferType.SPANANABLE 或 BufferType.EDITABLE 参数调用 setText(),您可以将此方法的返回值分别转换为 Spannable 或 Editable。注意:不要修改返回值的内容。如果你想要一个可修改的,你应该先制作你自己的副本。

http://developer.android.com/reference/android/widget/EditText.html

  String value1 = txt1.getText().toString();
i.putExtra("str3", value1);

关于android - 使用 Intent 将字符串返回到先前的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18121655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com