2014-03-03 5 views
0

질문을 나타내고 4 개의 대답 선택 (a, b, c 및 d)이있는 라디오 그룹을 만들었으므로 radiogroup에 대해 4 개의 라디오 버튼을 만들었고 정상적으로 작동했습니다SharedPreferences를 사용하여 RadioGroup 상태를 저장하는 방법

공용 클래스 P2는 페이지 1을 확장 {

RadioGroup rg2 ; 
RadioButton r2a , r2b , r2c , r2d ; 
Button b2n , b2b ; 
TextView tv ; 
int count ; 

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

    rg2 = (RadioGroup) findViewById(R.id.RG2); 
    r2a = (RadioButton) rg2.getChildAt(0); 
    r2b = (RadioButton) rg2.getChildAt(1); 
    r2c = (RadioButton) rg2.getChildAt(2); 
    r2d = (RadioButton) rg2.getChildAt(3); 
    b2n = (Button) findViewById(R.id.B2n); // next button 
    b2b = (Button) findViewById(R.id.B2b); // back button to page1 
    tv = (TextView) findViewById(R.id.res); 


    rg2.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 

     @Override 
     public void onCheckedChanged(RadioGroup arg0, int arg1) { 
      if (r2c.isChecked()){ 
    count ++ ; // since c is the correct answer add 1 to count (mark) 

          } 

     } 

    }); 


} 

공공 무효 move21 (보기보기 :하지만 내가 원하는 것은 내가 활동을 떠나 다시 돌아 가면 답이 확인 유지하는 것입니다, 여기에 코드입니다) {// b2b가 클릭되어 page1로 돌아갈 때 호출 됨

Intent intent = new Intent(this , Page1.class) ; 
    startActivity (intent) ; 
} } 

BTW, 나는 radiobuttons에 대한 id를 정의하지 않았으며 radiogroup에 대한 id (rg2) 만 정의했습니다. 어떻게 공유 환경 설정을 사용하여 방사선 그룹의 상태를 저장할 수 있습니까? 덕분에 현재 활동 같은과 상태를 저장입니다 떠나기 전에 당신이 할 수있는 일

답변

0

: 다시 활동에 올 때 그런

SharedPreferences settings = getSharedPreferences("answers", MODE_PRIVATE); 
SharedPreferences.Editor editor = settings.edit(); 
editor.putBoolean("r2a",r2a.isChecked()); 
editor.putBoolean("r2b",r2b.isChecked()); 
editor.putBoolean("r2c",r2c.isChecked()); 
editor.putBoolean("r2d",r2d.isChecked()); 
editor.apply(); 

, 당신은 할 수 있습니다 :

SharedPreferences settings = getSharedPreferences("answers", MODE_PRIVATE); 
boolean r2achecked = settings.getBoolean("r2a",false); 
boolean r2bchecked = settings.getBoolean("r2b",false); 
boolean r2cchecked = settings.getBoolean("r2c",false); 
boolean r2dchecked = settings.getBoolean("r2d",false); 

그런 다음 새로 만든 bool을 확인하고 그 중 하나가 참이면 해당 버튼을 선택하여 확인하십시오.

관련 문제