gpt4 book ai didi

android - 如何设置长 PreferenceScreen 的滚动位置

转载 作者:搜寻专家 更新时间:2023-11-01 09:14:19 33 4
gpt4 key购买 nike

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/

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