2014-02-05 4 views
1

내 PreferenceActivity에서 파일 선택 대화 상자를 가져 오려면 어떻게해야합니까? OnClick for PreferenceActivity를 어떻게 든 재정의 할 수 있습니까?PreferenceFragment의 파일 선택 대화 상자

헤더 XML은 다음과 같습니다 :

<?xml version="1.0" encoding="utf-8"?> 
<preference-headers 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<header 
    android:fragment="com.bfx.rfid.FragmentSetApp" 
    android:icon="@android:drawable/ic_menu_call" 
    android:title="Application" 
    android:summary="Application settings"> 
</header> 
<header 
    android:fragment="com.bfx.rfid.FragmentSetConnection" 
    android:icon="@android:drawable/ic_menu_call" 
    android:title="Connectivity" 
    android:summary="Connection settings"> 
</header> 
</preference-headers> 

PreferenceFragment 클래스 :

import android.os.Bundle; 
import android.preference.PreferenceFragment; 

public class FragmentSetApp extends PreferenceFragment { 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.fragment_set_app); 
    } 
} 

PreferenceFragment의 XML은 다음과 같습니다

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
<Preference 
    android:key="work_directory" 
    android:title="Folder to work with"> 
</Preference> 
<PreferenceCategory 
    android:title="Work with a database file"> 
    <CheckBoxPreference 
     android:key="DB_default" 
     android:summary="Choose a default database file or pick one" 
     android:title="Choose a database file" 
     android:defaultValue="true"/> 
    <EditTextPreference 
     android:key="DB_URI" 
     android:title="Database file" 
     android:dependency="DB_default"> 
    </EditTextPreference> 
</PreferenceCategory> 
</PreferenceScreen> 
안드로이드 API (14) 다음

내 PreferensActivity입니다

답변

3

Andorid는 기본 파일 선택기가 있다고 생각하지 않으므로 직접 구현하거나 라이브러리를 찾아야합니다.

그런 다음 PreferenceFragment.xml에 속성을 사용할 수 있습니다

<EditTextPreference 
    android:key="DB_URI" 
    android:title="Database file" 
    android:onClick="startFileChooser" 
    android:dependency="DB_default"> 

그리고 당신이 넣어 PreferenceFragment : 물론

public void startFileChooser(MenuItem i){ 
    // Start the file chooser here 
} 

, 어떻게 어떤 파일 선택에 따라 달라집니다에 당신이 것 당신은 함께 가기로 결심합니다. 아마도 SharedPreference에 삽입 할 파일의 경로로 끝날 것입니다.

관련 문제