gpt4 book ai didi

java - 如何使用 EditText 和 RadioButtons(以及颜色集)顺利存储用户输入数据?

转载 作者:行者123 更新时间:2023-12-02 02:47:04 26 4
gpt4 key购买 nike

我想将 RadioButton 的数据以及 EditText 值存储在 User 属性 registeredData 中,但我不知道如何访问我的函数以一种允许我获取所有数据以及显示单选按钮颜色变化的方式。另外,如何检查输入数据是否已在使用(例如电子邮件)?

我尝试将它们拆分为两个不同的函数,但无法将它们的数据返回到我的 User 属性 registeredData 中。这是我第一次尝试编写应用程序,因此非常感谢您的帮助。

public class Registration extends AppCompatActivity {

private EditText displayname, email, password, confirmpassword;
private Button bsubmit;
private RadioGroup rgroup;

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

displayname = findViewById(R.id.displayname);
email = findViewById(R.id.useremail);
password = findViewById(R.id.password);
confirmpassword = findViewById(R.id.confirmpassword);
bsubmit = findViewById(R.id.bsubmit);
rgroup = findViewById(R.id.rgroupteams);

bsubmit.setOnClickListener(onRegister);
}

private View.OnClickListener onRegister = new View.OnClickListener() {
@Override
public void onClick(View v) {
final User registeredData;
registeredData = new User();

switch (v.getId()) {
case R.id.bsubmit:
String useremail = email.getText().toString();
String userdisplayname = displayname.getText().toString();
String userpassword = password.getText().toString();

registeredData.email = useremail;
registeredData.displayname = userdisplayname;
registeredData.password = userpassword;
case R.id.rgroupteams:
RadioGroup group = findViewById(R.id.rgroupteams);
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int idOfSelected) {
switch (idOfSelected) {
case R.id.rbtnmantis:
bsubmit.setBackgroundColor(Color.parseColor("#FF0000"));
bsubmit.setTextColor(Color.parseColor("#000000"));
registeredData.team = "Mantis";
break;
case R.id.rbtlightbringers:
bsubmit.setBackgroundColor(Color.parseColor("#F4DC00"));
bsubmit.setTextColor(Color.parseColor("#000000"));
registeredData.team = "LightBringers";
break;
case R.id.rbtncryptographers:
bsubmit.setBackgroundColor(Color.parseColor("#1C00AA"));
bsubmit.setTextColor(Color.parseColor("#FFFFFF"));
registeredData.team = "Cryptographers";
break;
default:
registeredData.team = "";
}
}
});
}
}
};
}

现在,颜色更改仅在我单击提交按钮后才会打开,因为我不知道如何更好地设置我的 setOnClickListener(),我还没有使用任何除此之外,registeredData 中的变量是否设置为能够访问以显示某些数据(如显示名称)?

最佳答案

您需要将 onCheckedChangeListener 移至 onClickListener 之外。另外,将 registeredData 移到 onClickListener 之外。确保注册数据可“全局”访问。然后,在单击按钮和检查监听器时,您可以将输入字段和复选框中的数据设置到对象。

其次,使用 TextUtils.isEmpty(email.getText().toString()) 如果电子邮件为空,您可以获得 boolean 值。您可以将其用于其他输入字段,只需将文本发送到 isEmpty 方法

关于java - 如何使用 EditText 和 RadioButtons(以及颜色集)顺利存储用户输入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57137049/

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