android - 如何在android中一次对2个列表进行排序

标签 android list listview sorting android-listview

我有 2 个列表,一个是名字,另一个是数字。当我对名称列表进行排序时,它工作正常但数字与这些名称不匹配,这是我的代码

try {
        Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
        String[] projection = new String[] {
                ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Phone.NUMBER };
        List<String> contactNames = new ArrayList<String>();
        List<String> contactNumbers = new ArrayList<String>();
        Cursor people = getContentResolver().query(uri, projection, null,
                null, null);

        int indexName = people
                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
        int indexNumber = people
                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);

        people.moveToFirst();
        do {
            String name = people.getString(indexName);
            String number = people.getString(indexNumber);
            contactNames.add(name);
            contactNumbers.add(number);
        } while (people.moveToNext());
        PhoneContactsAdapter adapter = new PhoneContactsAdapter(context,
                contactNames, contactNumbers, selectedContacts);
        Collections.sort(contactNames);
        adapter.notifyDataSetChanged();
        lv_contacts_phone.setAdapter(adapter);
        lv_contacts_phone.setFastScrollEnabled(true);
    } catch (Exception e) {
        System.out
                .println("(SELECTFRIENDSACTIVITY)Selecting contacts from friends: "
                        + e);
    }

这里 contactNames 和 contactNumbers 被赋予 ListView lv_contacts_phone 在这里我只得到排序的名字和数字与名字不匹配请帮助我

最佳答案

而不是存储 contactNumbercontactName分开的人List秒。您可以创建一个类 Person封装了contactNamecontactNumber .填充 List<Person>然后对其进行排序。或者使用可以使用 Map<String,String>关键是contactNumber并重视 contactName .

关于android - 如何在android中一次对2个列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17183495/

相关文章:

android - 谷歌示例的 Mvvm uml 图

android - ACTION_MEDIA_BUTTON Intent 的 BroadcastReceiver 在每次 MediaButton 单击时触发两次

HTML、CSS 如何在一组图像旁边放置一个列表?

c# - 如何在 Windows Phone 8.1 RT 应用程序中滚动到 ListView 的底部?

android - 单击按钮时在同一父 View 中多次膨胀 View

java - nullpointerexception 错误我现在知道如何修复

java - 在旧设备上找不到 Android 资源 ID

如果两个列表中满足条件,python将跳过循环中的下一个索引

html - 在 Markdown 中创建嵌套列表而不是代码块

Delphi: ListView 中的 Shift-Up 和 Shift-Down