android - 创建动态 ListPreference (Android)

标签 android arrays sqlite settings preference

我想在我的设置中创建一个 ListPreference,其中填充了存储在我的 SQLite 数据库中的不同“年份”。我已经让它添加了所有年份,但是如果其中不止一个,它会不止一次添加它们。我不知道如何让每个只出现一次(例如 2012,2011,2010。而不是 2012,2012,2012,2011,2010,2010)。这是我的代码:

ListPreference listPreferenceCategory = (ListPreference) findPreference("Filter");

    entries = new ArrayList<String>();
    values = new ArrayList<String>();     

    mySQLiteAdapter = new SQLiteAdapter(this);

    mySQLiteAdapter.openToWrite();

    cursor = mySQLiteAdapter.queueAll6();
    cursor.moveToFirst();

    for(int i = 0; i < cursor.getCount();i++)
    {

        String year = cursor.getString(cursor.getColumnIndex(SQLiteAdapter.YEAR));

    if(Arrays.asList(entries).contains(year) == false){

        entries.add(year);

        values.add(year);
    }

    cursor.moveToNext();

    }


    final CharSequence[] charSequenceItems = entries.toArray(new CharSequence[entries.size()]);
    final CharSequence[] charSequenceItems2 = values.toArray(new CharSequence[values.size()]);

        listPreferenceCategory.setEntries(charSequenceItems);
        listPreferenceCategory.setEntryValues(charSequenceItems2);


    mySQLiteAdapter.close();

最佳答案

想通了。我需要使用 String[] array = entries.toArray(new String[entries.size()]);然后 Arrays.asList(array).contains(year) == false

关于android - 创建动态 ListPreference (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11852106/

相关文章:

arrays - 我可以将 hiera 与 YAML 后端一起使用来组合数组吗?

python - 在单个 Django 模型字段中存储两种类型的值

android - 将 SharedPreferences 添加到 Recycler 适配器中的项目

android - 如何启动基于 ServiceInfo 对象的服务?

arrays - iOS swift : fatal error: Index out of range

javascript - 使用 Javascript 预加载数组

c# - 为什么 C 代码在 C# 中实现为 DLL 时速度较慢

sqlite - 试图修剪 sqlite 中的数据

java - 为什么 Resteasy-mobile 中的 ClientResponseFailure 会导致 StackOverflowError?解决方法?

android - 如何在 Android DatePicker 中设置自定义月份的名称?