2012-09-09 3 views
3

설정 UI 빌드에 대해 배우려고합니다. 안드로이드 문서에서 환경 설정이 의도 일 수 있음을 알았지 만, 의도가 환경 설정 값을 반환 할 수 있는지 궁금한 것이 있습니다. 파일 선택기 활동을 시작하여 선택한 파일 이름)?파일 선택기 인 텐트가 환경 설정에서 열림

또는 환경 설정의 일부로 파일 또는 디렉토리 이름을 선택하려면 사용자 정의 환경 설정보기를 빌드해야합니까? 이것에 대한 유용한 예가 있습니까? (뭔가 사람들처럼 내게 많이 할 것) 보인다. 지금

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.preferences); 
    Preference filePicker = (Preference) findPreference("filePicker"); 
    filePicker.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      Intent intent = new Intent(......); //Intent to start openIntents File Manager 
      startActivityForResult(intent, requestMode); 
      return true; 
     } 
    }); 
} 

다음 환경 설정 활동에 onActivityResult를 오버라이드 (override) 할

답변

7

는 [EDITED] 첫 번째는 환경 활동에

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 

    <Preference 
      android:title="Pick file" 
      android:key="filePicker" 
    /> 
</PreferenceScreen> 

이제 preference.xml 파일에 환경 설정을 만들

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    //get the new value from Intent data 
    String newValue = ....; 
    SharedPreferences preferences = ......; 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putString("filePicker", newValue); 
    editor.commit(); 
} 
+0

@ user1160711 수정 된 답변 –

+1

그럴 것 같네요. 나는 아무것도 사용자 정의하지 않아도되기를 희망했지만, 그렇게 나쁘지는 않습니다. 감사. – user1160711

+0

Intent를 XML로 정의 할 수 있습니까? –

관련 문제