gpt4 book ai didi

java - 如何禁用表单中的按钮,直到用户填写重要字段

转载 作者:行者123 更新时间:2023-12-01 15:30:51 25 4
gpt4 key购买 nike

我有用户需要填写的表格,但是,我有一些用户应该填写的字段:-案例名称-案例时代-CaseDurationH、CaseDurationM(用于时间)-性别选择那么用户还应该填写 CasePic 或 CaseClothes如果用户填写这 5 个重要字段,则“下一步”按钮将启用,否则将被禁用。

这是我的代码,但它不完整,因为我不知道如何完成它!

 public class TestActivity extends Activity {
/** Called when the activity is first created. */
EditText edit1;
EditText edit2;
EditText edit3;
Button button;
String test1;
RadioGroup GenderSelection;
Spinner CaseDurationH, CaseDurationM;


@Override
protected void onCreate(Bundle savedInstanceState) {
// Your initialization code...
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

edit1= (EditText) findViewById(R.id.edit1);
edit2= (EditText) findViewById(R.id.edit2);
GenderSelection = (RadioGroup) findViewById(R.id.radioGroup);
button=(Button) findViewById(R.id.button);
CaseDurationH = (Spinner) findViewById(R.id.Shr);
CaseDurationM = (Spinner) findViewById(R.id.Smin);


TextWatcher watcher = new LocalTextWatcher();
edit1.addTextChangedListener(watcher);
edit2.addTextChangedListener(watcher);
//radiogroup();
int id = GenderSelection.getCheckedRadioButtonId();

if (id == -1){
//no item selected
button.setEnabled(false);
}
else{
if (id == R.id.radio0){
//Do something with the button
button.setEnabled(true);
} else{
if (id == R.id.radio1){
//Do something with the button
button.setEnabled(true);
} else{
if (id == R.id.radio2){
//Do something with the button
button.setEnabled(true);
}

updateButtonState();}}}
}

void updateButtonState() {
boolean enabled;
if(checkEditText(edit1) && checkEditText(edit2)) button.setEnabled(false);
else button.setEnabled(true);
}

private boolean checkEditText(EditText edit) {
return edit.getText().length() == 0;
}

private class LocalTextWatcher implements TextWatcher {
public void afterTextChanged(Editable s) {
updateButtonState();
}

public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}

public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}}}

最佳答案

大多数 View 类支持“事件监听器”,即在发生特定事件时回调的类(对于 Android,这些类通常是在用户执行某些操作时调用的)。

对于 RadioGroup,这样的方法之一是 RadioGroup.OnCheckedChangeListener 。您可以通过 setOnCheckedChangeListener() 将您的 OnCheckedChangeListener 设置到您的 RadioGroup 上。 RadioGroup 的方法。此方法类似于您当前用于 TextViewaddTextChangedListener()(另一个监听器)方法。

我建议您查看Android JavaDoc ,其中为您提供了所有这些信息。

关于java - 如何禁用表单中的按钮,直到用户填写重要字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9522934/

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