나는 도시의 목록을 가지고 있고, 나는 사용자가 환경 설정에서 추가 할이 도시 중 하나를 선택할 수 있습니다합니다. 그것을하기 위해 그는 시티 액티비티 (CityActivity) (하나의 도시를 대표 함)를 열고 OptionMenu를 열고 "즐겨 찾기에 추가"를 선택합니다. 모든 도시에는 이름, ID 및 기타 필드가 여기에 흥미가 없습니다.동적으로 추가하거나 제거 CheckBoxPreferences (안드로이드)
사용자가 즐겨 찾기에 도시를 추가하는 경우 (optionsMenu => "즐겨 찾기에 추가"에 의해) PreferenceCategory "즐겨 찾기"에 체크 표시가 나타나기를 원합니다 (이미 내 PreferenceScreen에서 생성되었지만 기본적으로 비어 있음). 확인란을 선택했는지 여부에 상관없이 구체적인 치료 방법을 적용 할 것입니다 (문제가 아닙니다). 사용자가 다시 도시에 가서 선택하면
마지막으로, 나는 SO하지만 결코에 오랜 시간 동안 검색 사라해야하는 도시의 이름을 가진 checkBoxPreference ...
을 "즐겨 찾기에서 제거" 이 문제의 해결책을 찾았습니다. 아니면 이해하지 못했습니다.
내 전류 소스 :
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="appSettings"
android:title="Préférences" >
<PreferenceCategory android:title="Accueil" >
<ListPreference
android:defaultValue="6"
android:entries="@array/nbNewsTitles"
android:entryValues="@array/nbNewsValues"
android:key="nbNews"
android:summary="Définit le nombre de news à afficher sur l'onglet d'accueil"
android:title="Nombre de news" />
</PreferenceCategory>
<PreferenceCategory android:title="Modèles" >
<ListPreference
android:entries="@array/quickTitles"
android:entryValues="@array/quickValues"
android:key="navigationRapide"
android:summary="Définit le nombre d'échéances à sauter lors de la navigation rapide"
android:title="Navigation rapide" />
</PreferenceCategory>
<PreferenceCategory android:title="Général" >
<CheckBoxPreference
android:defaultValue="false"
android:enabled="true"
android:key="doubleTapMenu"
android:summary="Affiche le menu lors d'actions spécifiques sur l'écran."
android:title="Magic Menu" />
</PreferenceCategory>
<PreferenceCategory
android:key="favoris"
android:title="Prévisions par villes" >
</PreferenceCategory>
public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
좋아. 나는이 방법은 내 PreferenceCategory에 CheckBoxPreference을 추가 할 알고,하지만 난 사용자가 (완전히 독립적 임) CityActivity의 마음에 드는에 도시를 추가 할 때 호출하는 방법을 모르겠어요. 메소드 addToFavorite는 "CityActivity"인 반면, 이러한 방법은 아마 내가 바보 해요,하지만 난 어떻게 해야할지하지 않습니다 ... 내 PreferenceActivity를에 ... 당신은 내가 생각하는 (선호 활동을 고수 할 경우에 잘 – QLag
목록보기가 "더 적합 할 수 있습니다") 어떤 종류의 상점에 대한 귀하의 도시 정보를 공유하기를 원할 것입니다. 당신은 당신이 실행시 필요한 각 요소에 대해 하나 (저장소에서 읽기)에서 당신의 체크 박스 환경 설정을 만든 다음 활동 후 PreferenceScreen에 부착 PreferenceActivity를 초기화합니다. – Jug6ernaut
좋아 덕분에, 사실 그것은 나에 부끄러운 ... 꽤 쉬웠다 : – QLag