gpt4 book ai didi

java - 使我的单选按钮在 Android 中成为选中状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:51:39 25 4
gpt4 key购买 nike

当我运行它并点击对话框时,我的单选按钮没有像预期的那样被选中

    package edu.elon.cs.mobile;



public class PTCalculator extends Activity{

private RadioButton maleRadioButton;
private RadioButton femaleRadioButton;

private EditText ageEdit;
private EditText pushUpsEdit;
private EditText sitUpsEdit;
private EditText mileMinEdit;
private EditText mileSecEdit;

private Button calculate;

private TextView score;

protected AlertDialog genderAlert;
private int currScore;

private int age;
private int sitUps;
private int runTime;
private int pushUps;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pt);
maleRadioButton = (RadioButton) findViewById(R.id.male);
femaleRadioButton = (RadioButton) findViewById(R.id.female);

ageEdit = (EditText) findViewById(R.id.ageEdit);
pushUpsEdit = (EditText) findViewById(R.id.pushupEdit);
sitUpsEdit = (EditText) findViewById(R.id.situpEdit);
mileMinEdit = (EditText) findViewById(R.id.minEdit);
mileSecEdit = (EditText) findViewById(R.id.secEdit);

calculate = (Button) findViewById(R.id.calculateButton);
calculate.setOnClickListener(calculateButtonListener);

score = (TextView) findViewById(R.id.scoreView);

genderAlert = makeGenderDialog().create();
}


private OnClickListener calculateButtonListener = new OnClickListener() {

@Override
public void onClick(View arg0) {
age = (Integer.parseInt(ageEdit.getText().toString()));
pushUps = (Integer.parseInt(pushUpsEdit.getText().toString()));
sitUps = (Integer.parseInt(sitUpsEdit.getText().toString()));

int min = (Integer.parseInt(mileMinEdit.getText().toString())*60);
int sec = (Integer.parseInt(mileSecEdit.getText().toString()));
runTime = min + sec;

if(maleRadioButton.isChecked()){
MalePTTest mPTTest = new MalePTTest(age, pushUps, sitUps, runTime);
currScore = mPTTest.malePTScore();
score.setText((Integer.toString(currScore)));

}else if(femaleRadioButton.isChecked()){
FemalePTTest fPTTest = new FemalePTTest(age, pushUps, sitUps, runTime);
currScore = fPTTest.femalePTScore();
score.setText((Integer.toString(currScore)));

}else
genderAlert.show();
}
};

public AlertDialog.Builder makeGenderDialog(){

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Select a Gender")
.setCancelable(false)

.setPositiveButton("Female", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
femaleRadioButton.setSelected(true);
FemalePTTest fPTTest = new FemalePTTest(age, pushUps, sitUps, runTime);
currScore = fPTTest.femalePTScore();
score.setText((Integer.toString(currScore)));
}
})
.setNegativeButton("Male", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
maleRadioButton.setSelected(true);
MalePTTest mPTTest = new MalePTTest(age, pushUps, sitUps, runTime);
currScore = mPTTest.malePTScore();
score.setText((Integer.toString(currScore)));
}
});

return builder;
}


}

有什么建议吗?

最佳答案

改变:

maleRadioButton.setSelected(true);

收件人:

maleRadioButton.setChecked(true); 

Selected 意味着 View 被突出显示(类似于获得焦点),而 setChecked 设置项目的状态,来自 API:

public void setSelected (boolean selected) Since: API Level 1

Changes the selection state of this view. A view can be selected or not. Note that selection is not the same as focus. Views are typically selected in the context of an AdapterView like ListView or GridView; the selected view is the view that is highlighted. Parameters selected true if the view must be selected, false otherwise

关于java - 使我的单选按钮在 Android 中成为选中状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694978/

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