gpt4 book ai didi

android - 以编程方式创建 ListPreference - 但条目列表为空

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:58 26 4
gpt4 key购买 nike

我正在尝试以编程方式创建一个 ListPreference,我可以这样做,但是当我选择它时,它的条目列表是空的。我相信我正确地设置了 setEntries()setEntryValues()CharSequence 数组,但当我选择它时它只是空的。

请在下面找到 ActivitySetting 类。请注意,我使用 PreferenceFragments 是为了不使用已弃用的方法。但我只有一个 PreferenceFragment 当前设置为默认值

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

// Display the fragment as the main content.
getFragmentManager().beginTransaction().replace(android.R.id.content, new PrefsFragment()).commit();
}

public static class PrefsFragment extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.settings);

// Create the new ListPref
ListPreference customListPref = new ListPreference(getActivity());

// Get the Preference Category which we want to add the ListPreference to
PreferenceCategory targetCategory = (PreferenceCategory) findPreference("TARGET_CATEGORY");

CharSequence[] entries = new CharSequence[]{"One", "Two", "Three"};
CharSequence[] entryValues = new CharSequence[]{ "1", "2", "3" };

// IMPORTANT - This is where set entries...looks OK to me
customListPref.setEntries(entries);
customListPref.setEntryValues(entryValues);

customListPref.setTitle("Title");
customListPref.setSummary("This is the summary");
customListPref.setDialogMessage("Dialog Message");
customListPref.setPersistent(true);

// Add the ListPref to the Pref category
targetCategory.addPreference(customListPref);
}
}
}

这是 Setting.xml,它只有一个 PreferenceCategoryListPreference 添加到:

   <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="Some Options" android:key="TARGET_CATEGORY">
</PreferenceCategory>
</PreferenceScreen>

这是我得到的。 ListPreference 已经成功,但是当我选择它时......没有条目 :( 我期待选项:“一个”、“两个”、“三个”

enter image description here

最佳答案

如果您设置 setDialogMessage() 就会发现它,然后这会覆盖内容,因此通过删除这一行,它现在可以工作了。

关于android - 以编程方式创建 ListPreference - 但条目列表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22202491/

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