gpt4 book ai didi

java - 将字符串从第一个 Activity 传递到最后一个 Activity ,但在开始最后一个 Activity 之前运行另一个 Activity

转载 作者:行者123 更新时间:2023-12-02 10:48:36 32 4
gpt4 key购买 nike

我对 Android 很陌生,如果问题重复,请避免并发送链接。有三个 Activity A、B 和 C。 Activity A 获取一个用户名,我想在 Activity C 中显示该用户名,但我想先运行 Activity B,然后运行 Activity C。使用 Intent 的问题是我必须运行 C第一的。如果singleton、bundle或parcelable是解决方案,您能提供代码吗?

Activity A

public class MainActivity extends AppCompatActivity {

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

final EditText nameText = findViewById(R.id.nameText);
nameText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
String name = nameText.getText().toString();
return true;
}
});
}

Activity B

    public class qPage2 extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_q_page2);
android.os.SystemClock.sleep(500);
}
}

Activity C

public class lastPage extends AppCompatActivity {

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

最佳答案

这比你想象的容易。例如,如果您想通过 B 将 Tasif 字符串从 A 发送到 C。

在 Activity A 中

Intent intent = new Intent(A.this, B.class);
intent.putExtra("username", "Tasif");
startActivity(intent);

Activity B 中

Intent intent = new Intent(B.this, C.class);
intent.putExtras(getIntent()); // Add this line, it will copy all data in intent which starts activity B (including `username`).
startActivity(intent);

在 Activity C 中

String username = getIntent().getStringExtra("username");

关于java - 将字符串从第一个 Activity 传递到最后一个 Activity ,但在开始最后一个 Activity 之前运行另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52359511/

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