如何通过单击首选项启动 DialogFragment?
How can I launch a DialogFragment from clicking a preference item?
在我的 preferences.xml 文件中,我有类似
的东西
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title = "Random Title"
android:key = "random_category">
</PreferenceCategory>
</PreferenceScreen>
我有一个 PreferenceFragment:
public class PrefFragment extends PreferenceFragment {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
我想将一个项目添加到类别中,如果您单击它,它会调用 SomeFunc()(它会启动一个 DialogFragment,从那里我知道如何使用我编写的帮助程序保存首选项值),但是我不知道如何只包含触发此功能的常规可点击首选项。
添加点击事件
Preference button = findPreference(preferenceKey);
button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
// Do some stuff here
return true;
}
});
还值得一试 Android Studio 的默认首选项页面(新建 -> Activity -> 设置 Activity)- 非常简洁但不太简单。
在我的 preferences.xml 文件中,我有类似
的东西<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title = "Random Title"
android:key = "random_category">
</PreferenceCategory>
</PreferenceScreen>
我有一个 PreferenceFragment:
public class PrefFragment extends PreferenceFragment {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
我想将一个项目添加到类别中,如果您单击它,它会调用 SomeFunc()(它会启动一个 DialogFragment,从那里我知道如何使用我编写的帮助程序保存首选项值),但是我不知道如何只包含触发此功能的常规可点击首选项。
添加点击事件
Preference button = findPreference(preferenceKey);
button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
// Do some stuff here
return true;
}
});
还值得一试 Android Studio 的默认首选项页面(新建 -> Activity -> 设置 Activity)- 非常简洁但不太简单。