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();