<activity_home.xml>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:key="root">
<PreferenceCategory
android:title="NAME">
<CheckBoxPreference
android:key="a0"
android:title="Name_0"
android:summaryOn="On"
android:summaryOff="Off"
android:defaultValue="true"/>
<CheckBoxPreference
android:key="a1"
android:title="Name_1"
android:summaryOn="On"
android:summaryOff="Off"
android:defaultValue="true"/>
</PreferenceCategory>
</PreferenceScreen>
<HomeActivity.java>
public class HomeActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.activity_home);
CheckBoxPreference a0 = (CheckBoxPreference)findPreference("Name_0");
CheckBoxPreference a1 = (CheckBoxPreference)findPreference("Name_1");
if (a0.isChecked()) {
...중략...
} else {
...중략...
}
if (a1.isChecked()) {
...중략...
} else {
...중략...
}
}
}
이런식으로 하니 강제종료가 되어버리는데 저런식으로 구문을 적으면 안되죠?
어떤 방법으로 해야 체크할 때 작동을 할 수 있게 하는지 모르겠네요 ㅠㅠ
DalianCOB
public class HomeActivity extends PreferenceActivity {
private SharedPreferences preference_check_state;
private boolean check_state_a0 = false;
private boolean check_state_a1 = false;
@Override
public void onCreate(Bundle savedInstanceState) {
... ... ...
addPreferencesFromResource(R.layout.activity_home);
getPreferenceManager().setSharedPreferencesName(YOU_LIKE_NAME);
// 여기서 YOU_LIKE_NAME은 당신이 주고싶은 이름으로 주면 됩니다.
preference_check_state = getSharedPreferences(HomeActivity.YOU_LIKE_NAME, 0);
check_state_a0 = preference_check_state.getBoolean("a0", false);
check_state_a1 = preference_check_state.getBoolean("a1", false);
if(check_state_a0)
{
.... .... ...
}
else
{
.... ... ...
}
if(check_state_a1)
{
.... .... ...
}
else
{
.... ... ...
... ... ...
}
먼저 따라해보세요. 제가 가지고 있는 지식 얕아 설명은 구체적으로 못드리니 참고해주세요.
저도 해결되지않는 고민이 있어 생각하다가 문득 눈에 띄여 전에 해본적 있어 기억살려 코드 몇줄 적었으니
도움되면 좋겠어요.




에러 로그도 올려주시면 좋을듯하네요