Android preference-headers额外参数

Vad*_*dym 1 xml android preferenceactivity android-preferences

我正在使用标头构建首选项活动.在文档中,我看到extra可以为每个header条目指定参数.在代码中,我想在设置活动中构建标题列表时访问这些额外的值,如下所示.请注意,我是从重载onBuildHeaders而不是标题片段的活动中完成的.

if (header.extras != null && header.extras.containsKey("someKey")) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,extras参数始终为null.有没有办法强制它被读入?

Mau*_*zio 5

在你的header喜欢中添加你的额外内容:

<header android:title="Display" >
  <extra
    android:name="separator"
    android:value="true" />
</header>
Run Code Online (Sandbox Code Playgroud)

然后使用以下内容检索值:

    boolean isSeparator = false;
    Bundle extras = header.fragmentArguments;
    if (extras != null)
    {
      isSeparator = extras.containsKey("separator");
    }
Run Code Online (Sandbox Code Playgroud)

请注意,您要使用header.fragmentArguments而不是.extras字段.