我在初始页面上有2个单选按钮来选择性别。然后根据男孩或女孩,将gender
设置为1或2。我有一个重置按钮可返回主屏幕,在此按钮中,我使用了rg.setSelected(false)
来重置单选按钮,但是由于某些原因,即使我在单击“重置”时也将gender
设置为0。当我选择“异性”单选按钮时,性别int保持为最初选择的那个?我已完成一个日志,以确保gender
在按reset时恢复为0。
我也想重设名称,因此当按下重设按钮时,我已经完成reader = ""
,但再次使用Log,名称始终保持为输入的第一个名称。
有人能帮助我如何在再次输入新值而无需关闭应用程序的情况下显示它们吗?
使用代码编辑
//代码以选择哪个单选按钮,
public void onRadioButtonClicked(View view) {
if (rg.getCheckedRadioButtonId() == R.id.boyButton) {
gender = 1;
} else if (rg.getCheckedRadioButtonId() == R.id.girlButton){
gender = 2;
}
}
//要重置的代码
public void reset(View view) {
setContentView(R.layout.start);
gender = 0;
reader = "";
rg.clearCheck();
Log.i("Gender", Integer.toString(gender));
Log.i("name", reader);
}
(我将代码更改为将复选框清除为rg.clearCheck()
,现在似乎已清除它,gender
更改为0,但是当我选择新性别并输入gender
时现在是0。
就像我第二次输入详细信息时一样,它没有被提取,并且输入按钮的代码未运行
//输入按钮的代码
public void enterName(View view) {
reader = nameText1.getText().toString();
setContentView(R.layout.melvin);
melvinSpeaks1 = findViewById(R.id.melvinSpeak1);
melvinText1 = findViewById(R.id.melvinText1);
rudolphSpeaks1 = findViewById(R.id.rudolphSpeak1);
rudolphText1 = findViewById(R.id.rudolphText1);
melvin1 = findViewById(R.id.melvinBubble);
rudolph1 = findViewById(R.id.rudolphBubble);
reset = findViewById(R.id.resetButton);
melvinText1.setVisibility(View.INVISIBLE);
rudolphText1.setVisibility(View.INVISIBLE);
rudolph1.setVisibility(View.INVISIBLE);
melvin1.setVisibility(View.INVISIBLE);
Log.i("Gender", Integer.toString(gender));
Log.i("name", reader)
}
非常感谢