gpt4 book ai didi

java - PreferenceFragment 中的文件选择器对话框

转载 作者:行者123 更新时间:2023-11-29 05:29:36 26 4
gpt4 key购买 nike

我想在我的 PreferenceActivity 中获得一个选择文件对话框,我该如何实现?我可以以某种方式覆盖 PreferenceActivity 的 onClick 吗?安卓 API 14。

这是我的 PreferensActivity:

    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);
}
}

header 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>

最佳答案

我不认为 Andorid 有本地文件选择器,所以你必须自己实现一个,或者找一个库。

然后您可以使用 PreferenceFragment.xml 中的 android:onClick 属性:

<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 中。

关于java - PreferenceFragment 中的文件选择器对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21576971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com