gpt4 book ai didi

android - onclick 在恢复方法中不起作用

转载 作者:行者123 更新时间:2023-11-29 21:14:09 25 4
gpt4 key购买 nike

我的应用程序有问题,我有一个公式希望用户填写信息并将其保存到数据库,我有编辑文本和单选按钮:

    rm_1 = (EditText) findViewById(R.id.rm_1);
rm_2 = (EditText) findViewById(R.id.rm_2);
rm_3 = (EditText) findViewById(R.id.rm_3);
rm_13_1 = (RadioButton) findViewById(R.id.rm_13_1);
rm_13_2 = (RadioButton) findViewById(R.id.rm_13_2);
rm_14_1 = (RadioButton) findViewById(R.id.rm_14_1);
rm_14_2 = (RadioButton) findViewById(R.id.rm_14_2);
rm_14_3 = (RadioButton) findViewById(R.id.rm_14_3);

我有一个 Onclick 方法,它希望将所选的每个单选按钮与一个值相关联:

     public void onRadioButtonClicked(View view) {
// Is the button now checked?

boolean checked = ((Checkable) view).isChecked();


switch (view.getId()) {
case R.id.rm_13_1:
if (checked)
a = 0;
break;
case R.id.rm_13_2:
if (checked)
a = 1;
break;
case R.id.rm_14_1:
if (checked)
b = 0;
break;
case R.id.rm_14_2:
if (checked)
b = 1;
break;
case R.id.rm_14_3:
if (checked)
b = 2;
break;
case R.id.rm_14_4:
if (checked)
b = 3;
break;
}

直到现在一切正常,用户在编辑文本中写入并选择单选按钮,然后在数据库中我找到了相同的信息。为了保存用户输入的数据,我确实使用了共享首选项,因此当用户返回 Activity 时,用户编写的文本和选择的单选按钮再次出现。

那是当用户更改 Activity 时出现问题的时候,所以如果他返回 Activity ,他会发现单选按钮已经被选中,但是当他点击保存按钮时,他在数据库中获得的值为零,这就像方法:

                 public void onRadioButtonClicked(View view)

不工作,我不知道为什么??用户需要再次单击单选按钮才能在方法 onRadioButtonClicked(View view) 中分配值,那么如何解决呢?

这是我保存数据的地方:

           Button bton = (Button) findViewById(R.id.ajoutUn);
bton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ajouter(v);
}
public void ajouter(View v) {
db.open();
db.insertMENAGE(rm_1ts, rm_2ts, rm_3ts, rm_4ts, rm_5ts,
rm_6ts, rm_7ts, rm_8ts, rm_9ts, rm_10ts, rm_11ts,
a, b, rm_14_4_autrets, rm_15ts);}}

数据库中的方法是:

                 public long insertMENAGE(String Region, String Provence_prefecture , String Commune_Arrondissement ,String N_district, String N_M_district , String N_menage_logement, String Adresse_menage , String Nom_Enqueteur, String code_enquêteur , String Date_realisation_enquête, String Nom_controleur , String Date_controle, int echantillon_principal, int Statut_enquêté , String autre, String Observations  ) {
ContentValues initialValues = new ContentValues();
initialValues.put(col_Commune_Arrondissement,Commune_Arrondissement);
initialValues.put(col_N_district,N_district);
initialValues.put(col_N_M_district,N_M_district);
initialValues.put(col_N_menage_logement,N_menage_logement);
initialValues.put(col_Adresse_menage,Adresse_menage);
initialValues.put(col_Nom_Enqueteur,Nom_Enqueteur);
initialValues.put(col_code_enquêteur ,code_enquêteur);
initialValues.put(col_Date_realisation_enquête,Date_realisation_enquête);
initialValues.put(col_Nom_controleur,Nom_controleur);
initialValues.put(col_Date_controle,Date_controle);
initialValues.put(col_echantillon_principal,echantillon_principal);
initialValues.put(col_Statut_enquêté,Statut_enquêté);
initialValues.put(col_Observations,Observations);

return db.insertOrThrow(MENAGE,null, initialValues);
}

最佳答案

检查 onResume() 方法中的所有单选按钮值,如下所示,并将值分配给变量。

    if(rm_13_1.isChecked())
{

}
else if(rm_13_2.isChecked())
{

}
else if(rm_14_1.isChecked())
{

}
else if(rm_14_2.isChecked())
{

}
else if(rm_14_3.isChecked())
{

}

希望能成功

关于android - onclick 在恢复方法中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21885236/

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