- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
Android 应用程序有一些非常长的首选项屏幕,它们总是在首选项菜单的顶部打开。我知道用户希望在首选项菜单中的什么位置。如何强制首选项屏幕滚动到特定的首选项?
最佳答案
我知道这是一个旧的,所以这个答案仅供引用。
要自动选择给定的屏幕,您所要做的就是 setPreferenceScreen()
(这是针对 Honeycomb 之前的非 fragment PreferenceActivity)。
进入正确的 PreferenceScreen 后,您确实可以使用 getListView().smoothScrollToPosition(position)
(但这是 Froyo+ 方法),或者你可以使用 getListView.setSelection(position)
.
但是如何获得位置呢?
首先,注意陷阱:PreferenceActivity.getListAdapter()
不返回实际的 ListAdapter,而是一个本地实例变量,令人不安的是它与 PreferenceActivity.getListView().getAdapter()
不同步(通常为 null)。
其次,尝试使用Preference.getOrder()
返回 Preference 对象在其父级中的顺序,这是您想要用于位置的顺序仅当您不使用 PreferenceCategories
时 因为您需要的是它在 PreferenceScreen 中的顺序。
如果您使用的是 PreferenceCategories,则需要遍历适配器中的项目 ( for (int i = 0; i < adapter.getCount(); i++)
直到找到正确的项目,然后使用它的位置。
Android SDK 的另一个急需关注的角落......
关于android - 如何设置长 PreferenceScreen 的滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837257/
我的应用程序中有一个标准的首选项页面。但是,当用户按下“管理收藏夹”时,我希望用户能够从这个首选项页面导航到另一个具有自定义布局的 PreferenceScreen。 这是我想到的自定义布局: 是否可
我正在以编程方式创建一组嵌套的 PreferenceScreen。当用户进入其中一个屏幕并点击其中的某个内容时,我想返回到之前的 PreferenceScreen(即“父级”)。 我找不到这方面的任何
我的应用以 API 28 为目标,并且至少有 API 15。作为支持库,我使用的是 AndroidX。 我有一个由 Activity 托管的偏好 fragment ,如下所示: SettingsFra
我遇到了以下(小但烦人!)问题:我有一个 PreferenceActivity,其 XML 偏好层次结构定义带有“sub PreferenceScreens”,即。 e.顶级 PreferenceSc
迁移到 AndroidX 并将目标 SDK 升级到 28 后,我的 SettingsPage 丢失了 PreferenceScreen 组件之间的分隔线,并且文本未左对齐。谁能帮忙? `
我是 Android 开发新手。我在我的 Android 应用程序中开发了一个首选项 Activity 。我想要一个 Preference 来打开一个常规的 Activity。我在我的 XML 文件中
PreferenceScreen 对我来说不够好,因为我必须向 Spinner 添加项目。这些项目需要来自数据列表。 我有一个自定义的 ArrayAdapter,它会在我单击它时返回项目的名称。它返回
我正在尝试构建一个测试,以使用 Espresso 验证我的 PreferenceScreen View 。我要单击的文本位于底部。那么如何使用 Espresso 在 PreferenceScreen
我从 the android documentation 得到以下代码 Android Studio 给我一个错误,说我在 PreferenceScreen 标签上缺少高度和
我创建了以下自定义首选项屏幕。 我想在 Button1 和 Button2 上添加监听器。我应该怎么做? 我正在使用以下代码创建上述首选项屏幕。 演示首选项: import android.app.A
我想去掉首选项 Activity 和所有子屏幕中的顶部标题栏。我现在面临的问题不是发生在果冻 bean 上,而是发生在旧版本上。如果我无法删除它,我想更改它的行为,以便子屏幕中的标题不会从列表项中转移
我有一个 xml 文件,它定义了一些偏好屏幕,如下例所示 .... 我希望能够增加首选项屏幕文本的字体大小,但是因为在首选项屏幕中没有 android:textsiz
我不知道如何在 PreferenceScreen 中实现向上按钮。向上按钮在您的应用程序图标旁边的操作栏中显示一个插入符号,允许您导航应用程序的层次结构,更多信息 here . 我有一个首选项 fra
我正在尝试创建一个 PreferenceScreen,但我希望 Activity 设计与整个项目一样。 如何创建自定义 PreferenceScreen 设计? 最佳答案 是的,这是可行的。为布局道歉
我的 PreferenceScreen 标题很长,尤其是在某些语言中。我可以为 CheckBoxPreference 或 ListPreference 设置多行标题: Android preferen
我在我的首选项屏幕上添加了一个小部件布局,显示一个箭头图标,以向用户表明在给定的 PreferenceScreen 后面还有更多首选项。 但是,我注意到当未启用 PreferenceScreen 时它
我有一个preferencescreen 页面只用于显示数据而不保存它用于设置 代码如下 现在我想知道如何
我正在运行时创建一个 PreferenceScreen。但是在尝试滚动时屏幕停电。 ListView有一个状态可以避免这种情况, android:cacheColorHint="@android:co
下面是首选项屏幕的截图: 我还包括布局和 java 代码: layout/toolbar.xml layout/activity_settings.xml xml/fragment
我找到了一种解决方法来实际启用嵌套 PreferenceScreen 上的 ActionBar 主页按钮...但是它不会在我的 PreferenceActivity 中调用 OnOptionsItem
我是一名优秀的程序员,十分优秀!