AnnBnnCnnD 2013-07-16 08:38 采纳率: 0%
浏览 880

添加值到列表首选项中

添加一个项目到列表首选项中,使用:

void setupValues(ListPreference pref) {
    CharSequence[] entries= pref.getEntries();
    entries[entries.length]="l";
    pref.setEntries(entries);
}

但是没实现,虽然我能创建一个新的CharSequence 设置成 EntryValue,像这样:

void setupValues(ListPreference pref) {
    CharSequence[] entries= {"d","e"};
    pref.setEntries(entries);
}
  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-06 09:40
    关注

    这样的代码是没有问题的,它能够将 "d" 和 "e" 添加到选择列表中。


    但是,在你的第一个代码块中,你没有为 entries 数组分配足够的空间来存储新的元素 "l"。你可以使用数组复制函数来分配足够的空间,然后再将新的元素添加到数组中,就像这样:

    void setupValues(ListPreference pref) {
        CharSequence[] oldEntries = pref.getEntries();
        int oldLength = oldEntries.length;
        CharSequence[] newEntries = Arrays.copyOf(oldEntries, oldLength + 1);
        newEntries[oldLength] = "l";
        pref.setEntries(newEntries);
    }
    

    这样,你就能够在列表首选项中添加新的项目了。

    评论

报告相同问题?

悬赏问题

  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题