gpt4 book ai didi

java - Android studio - 如何保存在上一个 Activity 中选择的数据

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

这是我的代码 fragment 。 Textview 充当按钮并在它们上面有 Onclicklistner。单击 cpu1000 Textview 时,它会转到 cpu_g1000 类,其代码如下所示。

public class Game_1000 extends AppCompatActivity implements View.OnClickListener{

private TextView cpu1000, mobo1000;

TextView cpu, mobo;

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

cpu1000 = (TextView) findViewById(R.id.proName_G1);
mobo1000 = (TextView) findViewById(R.id.moboName_G1);

cpu1000.setOnClickListener(this);
mobo1000.setOnClickListener(this);

cpu = (TextView) findViewById(R.id.proNameG1000);
cpu.setText(getIntent().getStringExtra("Processor"));

mobo = (TextView) findViewById(R.id.moboNameG1000);
mobo.setText(getIntent().getStringExtra("Motherboard"));
}

@Override
public void onClick(View v) {

if (v == cpu1000) {
opencpu_g1000();
}
else if (v == mobo1000) {
openmobo_g1000();
}
}

public void opencpu_g1000() {
Intent intent = new Intent(this, cpu_g1000.class);
startActivity(intent);
}

public void openmobo_g1000() {
Intent intent = new Intent(this, mobo_g1000.class);
startActivity(intent);
}

在这个类中,有单选按钮。用户选择其中一个选项并将选项更改为字符串。字符串被发送回 Game_1000 类。然后该字符串被替换为 “选择处理器” 以显示新的选择。我遇到的问题是,当我选择主板时,处理器选项恢复为“选择处理器”,并且显示主板选项。我需要同时显示两者。

public class cpu_g1000 extends AppCompatActivity {

Button button_save;
RadioGroup rG;
TextView tv;

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

button_save = (Button) findViewById(R.id.Save_G1_cpu);
rG = (RadioGroup) findViewById(R.id.cpu_RadioGrp);
tv = (TextView) findViewById(R.id.proNameG1000);

button_save.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {

int selected_cpu = rG.getCheckedRadioButtonId();
RadioButton selectedRadioButton = (RadioButton) findViewById(selected_cpu);

String radioValue = selectedRadioButton.getText().toString();

Intent intent = new Intent(cpu_g1000.this, Game_1000.class);
intent.putExtra("Processor", radioValue);
startActivity(intent);

}

});
}

已选择处理器:

Processor is chosen

选择主板:

Motherboard is chosen

选择示例:

Example of choices

之前的选择不会被记录下来,当做出新的选择时,之前的选择会恢复为“请选择一个处理器”,但我需要显示这两个信息。在我的原始代码中,我有不止 2 个选择,但我缩短了它以使其更易于阅读。

最佳答案

通过调用 startActivityForResult(...) 开始您的第二个(选择)结果 Activity ,然后当用户完成交互时,在 Intent 中设置您选择的数据并通过该 Intent 方法具有所需的结果 setResult(...) 然后在第二个 Activity 上调用 finish。

完成第二个 Activity 后,您将在第一个 Activity 的 onActivityResult(...) 方法中接收 Intent 数据,从 Intent 中提取该数据,然后将其显示给用户。

More Description

Example

关于java - Android studio - 如何保存在上一个 Activity 中选择的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49056785/

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