操作栏兼容性已添加到支持库,修订版18中.它现在具有ActionBarActivity用于在旧版Android上使用操作栏创建活动的类.
有没有办法从支持库添加Action Bar PreferenceActivity?
以前我用ActionBarSherlock,它有SherlockPreferenceActivity.
android preferenceactivity android-actionbar android-support-library
我想创建一个名为的首选项字段Interval,我希望能够弹出一个TimePicker并设置一个mm:ss具有最小值的格式化值00:30并且步骤30秒.
是否有可能使用TimePicker的PreferenceScreen?
我已经用ViewPager制作了一个应用程序。当我进行调试构建并在手机上对其进行测试时,一切工作正常。(不是模拟器)但是,当我构建发行版.apk并安装它时,PreferenceFragmentCompat的addPreferencesFromResource(R.xml.preferences); 使应用程序崩溃。 PreferenceFragmentCompat-Android开发人员
ApplicationSettingsFragment.java:
package hu.t_bond.homecontroller.Fragments;
import android.os.Bundle;
import android.support.v7.preference.PreferenceFragmentCompat;
import hu.t_bond.homecontroller.Launcher;
import hu.t_bond.homecontroller.R;
public class ApplicationSettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getPreferenceManager().setSharedPreferencesName(Launcher.SETTINGS_NAME);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public void onCreatePreferences(Bundle bundle, String s)
{
}
}
Run Code Online (Sandbox Code Playgroud)
res / xml / preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="AutoUpdatesEnabled"
android:title="@string/auto_updates_enabled"
android:summary="@string/auto_updates_enabled_description"
android:defaultValue="true" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
和崩溃报告:
10-26 14:20:07.661 17763-17890/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: hu.t_bond.homecontroller, PID: 17763
android.view.InflateException: Binary XML file line #2: Error inflating class PreferenceScreen …Run Code Online (Sandbox Code Playgroud) android android-support-library preferencefragment preference-v7
测试android.preference.PreferenceActivity 时,我收到以下警告:
警告:[deprecation] Activity 中的 getFragmentManager() 已被弃用
这就是我如何获得当前的句柄PreferenceFragment:
FragmentManager fm = this.mActivity.getFragmentManager();
this.currentFragment = (PreferenceFragment) fm.getFragments().get(1);
Run Code Online (Sandbox Code Playgroud)
使用FragmentActivity.getSupportFragmentManager()显然不是一种选择。
我找到了PreferenceFragmentCompat,它将取代已弃用的PreferenceFragment.
但是有什么androidx替代品PreferenceActivity吗?
android android-preferences android-fragments deprecation-warning androidx