gpt4 book ai didi

java - 从java中的其他 Activity 更改字符串的值

转载 作者:行者123 更新时间:2023-11-30 10:25:13 25 4
gpt4 key购买 nike

我有两个类“A”类和“B”类。在 A 类中,我宣布了一个字符串密码 =“admin”。现在在 B 类中,我从用户那里获取值(value),我想要更改 A 类中字符串的那个值并想要存储该值用户输入。我怎样才能做到这一点?有什么帮助吗?

A级

 forgetpassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent j = new Intent(MainActivity.this,newpassword.class);
startActivity(j);

B级

 EditText newpassword;
Button change;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_password);

newpassword = (EditText)findViewById(R.id.newpassword);
change = (Button)findViewById(R.id.chnage);



change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.b= newpassword.getText().toString();

Intent y= new Intent(NewPassword.this,MainActivity.class);
startActivity(y);



}
});

最佳答案

使用 StartActivityForResult()

当您打算从 Activity 中获取一些结果时,您应该使用 startActivityForResult(intent,requestcode) 开始 Activity

按照这些步骤很简单

StartActivity

Intent i = new Intent(MainActivity.this, ForgotPasswordActivity.class);
startActivityForResult(i, 1);

Set new password in ForgotPasswordActivity

现在您在 ForgotPasswordActivity 中,设置您的新密码并返回 MainActivity on Button click 像这样。

change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {


Intent y= new Intent(NewPassword.this,MainActivity.class);
y.putExtra("someKey",newpassword.getText().toString()); //set new password
setResult(Activity.RESULT_OK, returnIntent); // set your result
finish(); // return back to MainActivity



}
});

Retrive new Password in MainActivity

现在您导航回 MainActivty 以检索您的新密码覆盖 onActivityResultMethod()

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
String newPassword=data.getStringExtra("someKey");
}
if (resultCode == Activity.RESULT_CANCELED) {
//Write your code if there's no result
}
}
}

这里有一个关于 startActivityForResult() 的链接

关于java - 从java中的其他 Activity 更改字符串的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335195/

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