2012-08-27 6 views

답변

0

는 아래의 샘플 코드를보십시오 :

public class MainActivity extends Activity { 

private RadioGroup radioGroup; 

private static final String SELECTED_INDEX="SelectedIndex"; 

private OnCheckedChangeListener checkedChangedListener=new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     saveSelectedIndex(checkedId); 
    } 
}; 

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

    radioGroup = (RadioGroup) findViewById(R.id.rg); 
    radioGroup.setOnCheckedChangeListener(checkedChangedListener); 
    RadioButton rbtn=((RadioButton)radioGroup.findViewById(getSelectedValue())); 
    if(rbtn!=null){ 
     rbtn.setChecked(true); 
    } 
} 

private int getSelectedValue(){ 
    SharedPreferences pref=PreferenceManager.getDefaultSharedPreferences(this); 
    return pref.getInt(SELECTED_INDEX, -1); 
} 

private void saveSelectedIndex(int value){ 
    SharedPreferences.Editor editor=PreferenceManager.getDefaultSharedPreferences(this).edit(); 
    editor.putInt(SELECTED_INDEX, value); 
    editor.commit(); 
} 

} 
0

이미 귀하의 radiogroup을 추가 했습니까? 그것을 읽을 수 있고 sharedpreferences를 사용하는 방법을 알고 있습니까?

그렇다면 활동에서 onPause()를 재정의하는 것이 좋습니다. 거기에서 방사선 그룹의 가치를 읽고 그것을 sharedpreferences에 저장할 수 있습니다.

그런 다음 필요하면 onResume()을 재정 의하여 sharedpreferences에서 읽고 UI를 업데이트하십시오.

+0

@Ali의 대답을하고 광산은 상호 보완 적이다. onPause()에 코드를 추가 할 수 있습니다. –

관련 문제