Java PreferenceFragment中的文件选择器对话框
我想在我的首选项活动中获得一个“拾取文件”对话框,我如何获得该对话框?我能否以某种方式覆盖首选项活动的onClick?安卓API 14 以下是我的首选活动:Java PreferenceFragment中的文件选择器对话框,java,android,Java,Android,我想在我的首选项活动中获得一个“拾取文件”对话框,我如何获得该对话框?我能否以某种方式覆盖首选项活动的onClick?安卓API 14 以下是我的首选活动: import android.preference.PreferenceActivity; import java.util.List; public class SettingsActivity extends PreferenceActivity { @Override public boolean onIsMulti
import android.preference.PreferenceActivity;
import java.util.List;
public class SettingsActivity extends PreferenceActivity {
@Override
public boolean onIsMultiPane() {
return true;
}
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.pref_head, target);
}
}
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>
我认为我没有本机文件选择器,所以您必须自己实现一个,或者找到一个库 然后可以使用PreferenceFragment.xml中的
android:onClick
属性:
<EditTextPreference
android:key="DB_URI"
android:title="Database file"
android:onClick="startFileChooser"
android:dependency="DB_default">
当然,您将如何实现这一点取决于您决定使用哪个文件选择器。您可能会得到所选文件的路径,并将其插入到SharedReference中
<?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>
<EditTextPreference
android:key="DB_URI"
android:title="Database file"
android:onClick="startFileChooser"
android:dependency="DB_default">
public void startFileChooser(MenuItem i){
// Start the file chooser here
}