App의 Setting 목록 Activity를 만들려 보니 다음과 같은게 필요하다는걸 알았다.
1. PreferenceActivity 를 상속받은 Class
2. res/xml 디렉토리 하위의 xml
3. manifest 등록
쉽게 설명되어있는 링크
어렵게 설명되어있는 링크
해당 Activity Class와 Xml 을 이용해서
클릭 시 리스트중에 선택을 하거나 on, off 기능으로 SharedPreference 에 값을 저장 할 수 있다.
* 하지만 내가 필요한 기능은 그중에 한 옵션은 클릭 시 특정 기능이 수행되어야 했었다.
(구현하려는 기능은 지금까지 쌓아놓은 로그를 지우는 버튼..)
setOnClickListener 나 OnItemClickListener 와 같은 기능이 필요했는데
다음과 같이 해결을 했다.
public class ConfigActivity extends PreferenceActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { Toast.makeText(ConfigActivity.this, "preference:"+preference.getKey(), Toast.LENGTH_SHORT).show(); return super.onPreferenceTreeClick(preferenceScreen, preference); } }
결과로 Toast 에 해당 Preference 의 key 값이 찍혔다.
그래서 if, else 로 key 값을 구분해서 기능을 수행하도록 했다.
댓글
댓글 쓰기