如何使用新的Android-X API从当前的PreferenceFragment打开一个新的PreferenceFragment?
背景 在支持库的先前版本上,我们可以使用标头来具有主菜单的设置,每个屏幕都将打开一个新的设置屏幕(片段). 问题 现在的标题已经消失(如书面 )有一段时间,我认为在Android-X上变得更糟: 您会注意到的一件事不是这里的偏好标题 完全正确.但是,这并不意味着一个首选项列表 需要跨越10英寸的平板电脑屏幕.相反,您的活动可以实施 onpreferencestArtFragmentCallback(链接)处理 使用应用程序的偏好:fragment属性或 onpreferencestartscreencallback(链接)处理 首选项偏好.这使您可以构建一个"标题" 在一个窗格中的样式preferferceFragmentCompat,并使用这些回调 更换第二个窗格,而无需在两种单独类型的XML中工作 文件. 是,我无法在新的Android-X API上使用它们. 每个片段都有自己的首选项xml树(在onCreatePreferences中使用setP
PreferenceFragmentCompat在PreferenceCategory上有填充物,我无法去除。
所以我一直在尝试使用androidx.preference.preferenceFragmentCompat创建设置活动,并且一切都很好. 由于某种原因,偏好类别和偏好本身都存在一些填充物.我设法通过使用应用程序来摆脱偏好的填充:iConspacereved =" false",但这似乎对类别不起作用. 我已经尝试了所有各种主题,peferenceThemeOverlay.v14.material等,但它们似乎并没有有所作为 这是我所有的代码! settingSactivity.java import android.os.Bundle; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; public class SettingsActivit
偏爱分块兼容(PreferenceFragmentCompat)与@style/PreferenceThemeOverlay的填充问题
在使用Preferperion-V7支持库(版本23.1.0)的默认PreverenceThemeOverlay时,我遇到了以下问题.从API 22开始,我的偏好fragmentCompat在我的首选项列表的左侧和右侧添加了一个丑陋的额外填充. build.gradle: compile 'com.android.support:appcompat-v7:23.1.0' styles.xml: @style/PreferenceThemeOverlay 在我没有找到任何有用的解决方案之后,我自己写了一个解决方法.我只是想和你们分享. 解决方案 似乎Dafault Padding在API = 22中存在.这是我的修复: 这是styles.xml ...
6 2024-02-19
编程技术问答社区
Android支持V14 PreferenceFragment崩溃了
我正在尝试使用android.support.v14.preference库中的首选项在Android应用中显示设置.但是,当我尝试打开偏好时,应用程序会以一个奇怪的NullPoInterException崩溃.如果我在喜好中忽略了addPreferenceFromResource(R.xml.preferences)的电话,这不会发生这种情况,但是当然,偏好永远不会显示. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hardboard.preferencetest/com.hardboard.preferencetest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setAdap
自定义布局的PreferenceFragmentCompat
我需要一个自定义布局来为我的preferferceFragmentCompat.在但是,NPE结果: - Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setAdapter(android.support.v7.widget.RecyclerView$Adapter)' on a null object reference at android.support.v7.preference.PreferenceFragmentCompat.bindPreferences(PreferenceFragmentCompat.java:511)
6 2024-02-19
编程技术问答社区
新的偏好支持库在运行时不正确的主题
我正在尝试使用新的首选项V14支持库.为了给偏好一种物质样式,我在活动中使用以下样式: @style/PreferenceThemeOverlay.v14.Material 正常工作.我的问题是,当我在运行时添加新的首选项时,它们会使用旧主题膨胀.这是结果的屏幕截图: 您可以看到,通过XML添加的第一个偏好具有新的材料样式,而其他材料则没有. 您是否有关于如何解决问题的提示? 编辑 这是我用来在运行时添加偏好的代码的示例: import android.support.v7.preference.ListPreference; for (...) { final ListPre
PreferenceFragmentCompat需要设置preferenceTheme。
使用V7偏好支持库的新preferenceFragmentCompat: http:http:http://开发人员. android.com/tools/support-library/features.html#v7-preference ,我得到此错误 E java.lang.IllegalStateException: Must specify preferenceTheme in theme E at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:202) 应该设置什么主题? 更新:我尝试使用 @style/PreferenceThemeOverlay 正如@bogato所建议的 支持库: 本地首选项: 解决方案
Android PreferenceFragment 没有为片段的id找到视图
因此,我正在制作Android应用程序,并且我开始处理偏好,当我只使用偏好性时,一切都可以完美地工作,但是,如果我使用prexfecrefragment使用它,它会在我单击"调用意见"按钮后立即崩溃到具有错误的设置: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{*app package*/*app package*.SettingsActivity}: java.lang.IllegalArgumentException: No view found for id 0x7f08003d for fragment SettingsFragment{41cc1a98 #0 id=0x7f08003d} 这是设置: public class SettingsActivity extends Activity { @Override
6 2024-02-17
编程技术问答社区
在创建首选项屏幕时未找到androidx.preference.PreferenceScreen
在关注此教程创建一个偏好屏幕,似乎要夸大'androidx.preference.preferencescreen'的问题.为什么在res/xml文件夹中声明了我的偏好并且对该项目添加了必要的依赖性时,为什么找不到它? 我的应用程序的minsdkversion是24. 错误夸大等级(未找到)Androidx.preference.preferencescreen 依赖项 dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.suppo
2 2024-02-17
编程技术问答社区
片段在第二次使用时不显示
我有一个Activity架构,其中我在MainActivity中的另一个ViewGroup内加载了PreferenceFragmentCompat.自定义导航存在于MainActivity中,因此您可以在片段中加载ViewGroup,然后在相同的MainActivity中脱离它. 第一次导航到ViewGroup时,PreferenceFragmentCompat加载完全很好.但是,当我远离包含PreferenceFragmentCompat的ViewGroup然后返回时,PreferenceFragmentCompat不会出现后续时间. ViewGroup确实如此,但是片段应该是空的.我可以通过断点/记录看到片段正在通过其生命周期 - 它不可见. 每次我导航回到ViewGroup>时,都会创建一个新的包含ViewGroup和一个新的PreferenceFragmentCompat对象对,因此它不应将其附加到旧的ViewGroup上.导航架构太复杂了,无法在此处发布,但是这是我
如何在安卓系统中创建与滑动抽屉相关的PreferenceFragment?
我的应用程序有一个滑动抽屉菜单,其中我需要在滑动菜单的一个片段中加载preferfectragment. . 设置片段 public class Settings_fragment extends Fragment { public Settings_fragment(){} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_about, container, false); getActivity().getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment(
0 2024-02-14
编程技术问答社区
在改变PreferenceScreen时,保持行动栏的显示。
我正在尝试在我的首选项屏幕上显示一个动作栏. 为了这样做,我在设置中添加了以下代码 public class PreferencesActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.preferences_activity); getFragmentManager().beginTransaction() .replace(R.id.container, new PreferencesFragment()).commit(); getSupportActionBar().setDisplayOp
0 2024-02-12
编程技术问答社区
动态添加EditTextPreference
是否可以在preferferfragment中动态地将EdittextPreference添加到peyenceCategory中?还是设置EdittextPreference的数量,然后创建很多?我将不胜感激 解决方案 我正在使用助手类来构建EditTextPreferences,我可以做: Context context = getActivity(); PreferenceCategory statusCat = (PreferenceCategory) findPreference(context .getString(R.string.status_category)); EditTextPreference editTextPref = EditTextPrefBuilder.getBuilder(context) .setTitle("title")
2 2024-02-12
编程技术问答社区
在PreferenceFragment中创建一个Actionbar OptionsMenu
我在设置App的偏好时遇到了问题. 我想在ActionBar中有一个按钮(例如保存),但是我的ActionBar没有显示任何内容.我将此行放在onCreate方法中: this.setHasOptionsMenu(true); 并实现 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) public boolean onOptionsItemSelected(MenuItem item) 方法也是如此.但是,它没有显示任何东西. 解决方案 请确保您的操作菜单中的按钮项类似:
4 2024-02-09
编程技术问答社区
在子屏幕偏好中的行动栏中显示向上的按钮
我已经实施了我的偏好,如官方准则中所示. 我有一个偏爱性,可以创建这样的优先范围: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle extras = getIntent().getExtras(); if (extras != null) { Bundle bundle = new Bundle(); _widgetID = extras.getInt(GlobalSettings.EXTRA_WIDGET_ID); bundle.putInt(GlobalSettings.EXTRA_WIDGET_ID, _widgetID); WidgetSettingsFragmen
2 2024-01-31
编程技术问答社区