我在我的應用程序中的問題,我有一個formulaire嘩嘩用戶應填寫信息並將其保存到數據庫中,我有兩個編輯文本和單選按鈕:的onclick沒有恢復方法工作
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;
}
到現在爲止一切正常,用戶在編輯文本編寫並選擇單選按鈕,並在數據庫中我找到了相同的信息。 爲了保存用戶輸入的數據,我使用了共享偏好設置,因此當用戶返回活動時,用戶所寫的文本和選中的單選按鈕會再次出現。
問題發生在用戶更改活動時,如果他返回到活動狀態,他會發現單選按鈕已被選中,但是當他點擊保存按鈕時,他在數據庫中獲得的值爲零,就像方法:
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);
}
你也應該張貼在您設定的偵聽器的代碼,只是張貼相關的所有單選按鈕的代碼。 – thelawnmowerman
發佈onRadioButtonClicked的代碼和您用於將數據保存到數據庫的代碼,以便我們能夠爲您提供幫助。 – chipopo
public void onRadioButtonClicked(View view),這種方法就像一個列表器,它在選擇單選按鈕時需要考慮 –