0

上午在我打開自己的自定義對話框,我使用的單選按鈕,當我選擇單選按鈕,毫無疑問它選擇的工作,但是當我再次打開對話框中的所有單選按鈕,取消選擇的Android應用程序的工作我想保存以前的按鈕如何保存單選按鈕狀態

enter code here 
private void DiscountDialog() { 
    final Dialog dialog = new Dialog(MainActivity.this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.burstinterval); 
    dialog.setTitle("Timer"); 
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

    final RadioButton no = (RadioButton) dialog.findViewById(R.id.no); 

    final RadioButton first = (RadioButton) dialog.findViewById(R.id.first); 

    final RadioButton second = (RadioButton) dialog.findViewById(R.id.second); 

    final RadioButton third = (RadioButton) dialog.findViewById(R.id.third); 

    dialog.findViewById(R.id.no).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t1); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("no", no.isChecked()); 
      edit.putString("my_preference_timer", "no_timer"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.findViewById(R.id.first).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t2); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("first", first.isChecked()); 
      edit.putString("my_preference_timer", "2"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.findViewById(R.id.second).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t5); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("second", second.isChecked()); 
      edit.putString("my_preference_timer", "5"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.findViewById(R.id.third).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t10); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("third", third.isChecked()); 
      edit.putString("my_preference_timer", "10"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 

    dialog.show(); 
} 

的狀態添加答案後

enter code here 



    private void DiscountDialog() { 
    final Dialog dialog = new Dialog(MainActivity.this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.burstinterval); 
    dialog.setTitle("Timer"); 
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 

    final RadioButton no = (RadioButton) dialog.findViewById(R.id.no); 


    final RadioButton first = (RadioButton) dialog.findViewById(R.id.first); 


    final RadioButton second = (RadioButton) dialog.findViewById(R.id.second); 



    // third.setChecked(sharedPreferences.getBoolean("third", false)); 
    final RadioButton third = (RadioButton) dialog.findViewById(R.id.third); 


    dialog.findViewById(R.id.no).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t1); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("no", no.isChecked()); 
      edit.putString("my_preference_timer", "no_timer"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.findViewById(R.id.first).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t2); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("first", first.isChecked()); 
      edit.putString("my_preference_timer", "2"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.findViewById(R.id.second).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t5); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("second", second.isChecked()); 
      edit.putString("my_preference_timer", "5"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.findViewById(R.id.third).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      timer.setImageResource(R.drawable.t10); 
      SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
      SharedPreferences.Editor edit = sharedPreferences.edit(); 
      edit.putBoolean("third", third.isChecked()); 
      edit.putString("my_preference_timer", "10"); 
      edit.commit(); 
      dialog.dismiss(); 
     } 
    }); 

    dialog.show(); 
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
    no.setChecked(sharedPreferences.getBoolean("no", false)); 
    first.setChecked(sharedPreferences.getBoolean("first", false)); 
    second.setChecked(sharedPreferences.getBoolean("second", false)); 
    third.setChecked(sharedPreferences.getBoolean("third", false)); 

} 
+1

當任何單選按鈕,然後選中你可以把它簡單的使用radioGroup中店檢查單選按鈕ID,當重新填充顯示單選按鈕選中分別 –

+1

[安卓:保存單選按鈕的狀態]的可能的複製(http://stackoverflow.com/questions/14586837/android-save-state-of-radio-buttons) –

回答

0

添加此

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
no.setChecked(sharedPreferences.getBoolean("no", false)); 
first.setChecked(sharedPreferences.getBoolean("first", false)); 
second.setChecked(sharedPreferences.getBoolean("second", false)); 
third.setChecked(sharedPreferences.getBoolean("third", false)); 

dialog.show(); 
+0

no.setChecked(sharedPreferences .getBoolean(「no」,false)); –

+0

@ Rohit5k2當我將其添加檢查顯示僅第三個選擇,但我想我以前的選擇,顯示 –

+0

@ Rohit5k2它同樣也顯示託運只能持續一次 –

0

您應該使用廣電集團和ID檢查其單選框。 像這種上創建

prefs = getSharedPreferences("LANG_PREFS", MODE_PRIVATE); 
    rg = (RadioGroup)findViewById(R.id.language); 
    rg.check(prefs.getInt("lang_btn_id", R.id.amharic)); 
    rg.setOnCheckedChangeListener(this); 

onCheckedChanged的單選按鈕組使用這樣的事情

@Override 
public void onCheckedChanged(RadioGroup radioGroup, int i) { 
    Log.w("SettingActivity", "Radio Changed"); 
    SharedPreferences.Editor editor = getSharedPreferences("LANG_PREFS", MODE_PRIVATE).edit(); 
    switch (radioGroup.getCheckedRadioButtonId()){ 
     case R.id.urdu: 
      editor.putInt("lang_code", 0); 
      editor.putString("lang_name", "ar"); 
      Log.d("Checked","urdu"); 
      break; 
     case R.id.eng: 
      editor.putInt("lang_code", 1); 
      editor.putString("lang_name", "en"); 
      Log.d("Checked", "english"); 
      break; 
     case R.id.amharic: 
      editor.putInt("lang_code", 2); 
      editor.putString("lang_name", "am"); 
      Log.d("Checked", "amharic"); 
      break; 
    } 
    editor.putInt("lang_btn_id", radioGroup.getCheckedRadioButtonId()); 
    editor.commit();