gpt4 book ai didi

android - 如何通过 id 访问 PreferenceFragment?

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:26 25 4
gpt4 key购买 nike

我有 Honeycomb 样式偏好。我定义标题:

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
<header android:id="@+id/pref_general" android:fragment="MyPreferencesFragment" android:title="@string/pref_general_title">
<extra android:name="resource" android:value="pref_general" />
</header>
<header android:id="@+id/pref_sharing" android:fragment="MyPreferencesFragment" android:title="@string/pref_sharing_title">
<extra android:name="resource" android:value="pref_sharing" />
</header>
</preference-headers>

然后我将它们加载到 PreferenceActivity 中:

public void onBuildHeaders(List<Header> target)
{
loadHeadersFromResource(R.xml.preference_headers, target);
}

然后我如何通过 startPreferenceFragment 中的 ID 来定位确切的 Fragment?如何访问与该 fragment 对应的列表项以便启用/禁用它?

最佳答案

我找到了解决方案。无法直接访问 fragment ,但可以通过 ListAdapter 找到。在你的PreferenceActivity你可以这样写:

int fragmentId = R.id.pref_sharing;
for (int i = 0; i < getListAdapter().getCount(); i++)
{
Header header = (Header) getListAdapter().getItem(i);
if (fragmentId == header.id)
{
// You can access a fragment name (class)
String fragment = header.fragment;
// You can access fragment arguments
Bundle args = header.fragmentArguments;
}
}

我没有找到禁用标题列表项的方法,但我根据这段代码创建了一个解决方法。

关于android - 如何通过 id 访问 PreferenceFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8348078/

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