2010-03-23 3 views
3

팝업 메뉴가 있으며 ListPreference 유형 메뉴가 있습니다. 그 안에 '배열 문자열'이있는 settings.xml 파일과 연결됩니다. 그것은 모두 잘 작동하지만 사용자 환경 설정을 검색하는 방법을 모르겠습니다.android : ListPreference 사용 및 키 문자열 검색

예를 들어 사용자가 색상 (빨간색, 녹색 또는 파란색)을 선택한다고 가정 해 보겠습니다. 내 '배열 문자열'내에서 만든 목록에는 빨간색, 녹색 및 파란색 텍스트가 포함되어 있습니다. 내 코드 내에서 사용자가 빨간색을 선택한 경우 무언가를 수행하고 파란색 등을 선택하면 다른 작업을 수행하려고합니다. '사례'문 또는 'if'문을 사용합니까? 가장 중요한 점은 사용자 환경 설정 (키)을 어떻게 검색 할 수 있을까요? (나는 부울을 검사합니까?)

+0

도움을 얻으려면 좀 더 구체적으로 설명해야한다고 생각합니다. Android의 환경 설정 라이브러리를 사용하고 있습니까? 또는 색상 목록을 보여주는 대화 상자가 나타 납니까? –

+0

예, 안드로이드 환경 설정 라이브러리를 사용하고 있습니다. – Allan

답변

5

당신이 ListPreference를 사용하고 그렇지 장애인 영구 상태에있는 경우, 당신은 된 SharedPreferences에서 선택한 값을 읽을 수 있습니다.

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
prefs.getString(yourkey, "defvalue"); 

또한 당신은 onClick 이벤트를 구독 할 수 있습니다, 당신은 언급 코드 Rpond를 사용합니다.

+0

나는 너의 모든 도움을 받아 일 해왔다. 너네들, 너는 우리 모두를 초보자를 돕기 위해 시간을 들여야한다. 감사합니다 스택 오버플로! – Allan

2

목록이 대화 상자에 표시되면 onClick 메서드를 호출하는 OnClickListener를 지정해야합니다. 아래 예를 확인하십시오. 이 예제에서 onClick에 전달 된 인덱스는 배열에있는 항목의 인덱스입니다. 설정이 완료된 후

new AlertDialog.Builder(this).setTitle("Settings").setItems(R.array.colors, new DialogInterface.onClickListener() { void onClick(DialogInterface d, int index) { 
switch(index) { 
CASE 0: // do something 
CASE 1: // do something else}}};