직장에서 이것을 구현할 수 있었지만, 지금 구현 한 방법에 대해 머리 속에 기억하지 못합니다. 오래 전이었습니다. 아무도 좋은 답변이 없다면 내일 게시 할 것입니다. 버튼으로 작동하는 환경 설정을 저장 한 다음 클릭시 새 환경 설정 화면을 열려면 preferencesClickListener를 추가했습니다. 하지만 내가 말했듯이, 당신이 만족스러운 대답을 얻지 못하면 내일 당신을 위해 게시 할 것입니다.
행운을 빈다.
UPDATE : 그것은
?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Personal"
android:key="personal_category">
<Preference
android:key="birth"
android:title="Birth"
android:summary="Choose your birthday"/>
<PreferenceScreen
android:key="height_imp"
android:title="Height"
android:summary="Enter your height">
<EditTextPreference
android:key="foot"
android:title="Foot"
android:summary="foot"
android:numeric="integer"
android:dialogTitle="Foot"/>
<EditTextPreference
android:key="inch"
android:title="Inch"
android:summary="inch"
android:numeric="integer"
android:dialogTitle="Inch"/>
</PreferenceScreen>
<EditTextPreference
android:key="weight"
android:title="Weight"
android:summary="Enter your weight"
android:numeric="integer"
android:dialogTitle="Weight"/>
</PreferenceCategory>
</PreferenceScreen>
입니다! 클릭하면 두 번째 PreferenceScreen으로 이동하게되고, 마지막으로 레이아웃을 사용자 정의해야 할 때 Activity를 열어야합니다. 당신은 다음 기본 설정을 사용하여 추가 할 수 onPreferenceClick : 당신이 preferenceScreen와 배경이나 다른 뭔가를 변경해야하는 경우
@Override
public boolean onPreferenceClick(Preference preference) {
if(preference == birth){
startActivity(new Intent(getBaseContext(), Birth.class));
}
if(preference == height_imp){
PreferenceScreen a = (PreferenceScreen) preference;
a.getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
return false;
}
return true;
}
는 다음뿐만 아니라 preferenceClickListener를 추가 height_imp = (PreferenceScreen)getPreferenceScreen().findPreference("height_imp"); height_imp.setOnPreferenceClickListener(this);
안드로이드는이 방법으로 만들어진
일단 이것에 대한 느낌을 얻으면 파편을 봐야합니다. 예를 들어 지원 라이브러리를 통해 이전 버전의 OS에서 지원되므로 인스턴스 2.3에서 단일 활동 모델을 사용할 수 있지만 조각 모음을 활용할 수도 있습니다 3.0+ 지금 당장 혼란스러워하지 마라. 그러나 그것이 모두 젤을 시작했을 때 그것을 보아라. – Idistic
는 내가 약속했던 것처럼 편집했다! – Carnal
@ 카르 나 : 예를 들어 주셔서 감사합니다! – enzom83