連絡先の名前と連絡先番号を持つ連絡先のリストを作成し、重複を避けるために名前のエントリが1つであることを確認したいと思います。これは私が使用しているコードです。
String[] projection    = new String[] {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                        ContactsContract.CommonDataKinds.Phone.NUMBER};
                m_cursorgetContacts = activity.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,projection,null,null, null);
                if(m_cursorgetContacts != null && m_cursorgetContacts.getCount() != 0)
                {
                    while (m_cursorgetContacts.moveToNext())
                    {
                        String name = m_cursorgetContacts.getString(m_cursorgetContacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                        String phoneNumber = m_cursorgetContacts.getString(m_cursorgetContacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                        if(name != null && phoneNumber != null && phoneNumber.length() != 0)
                        {
                            for(int l_a = 0;l_a < m_localContactNameHolderArrayList.size();l_a++)
                            {
                                InputProviderClass inputProviderInstance = (InputProviderClass)m_localContactNameHolderArrayList.get(l_a);              
                                if (!inputProviderInstance.l_contactName.equals(name) ) 
                                {
                                    l_inputProviderInstance.setContactName(name);
                                    l_inputProviderInstance.setContactNumber(phoneNumber);
                                    m_localContactNameHolderArrayList.add(l_inputProviderInstance);
                                }
                            }
                        }
                    }
                }
                else
                    Log.e("Info: ","There is no any contact present in the contact list of the phone");
                m_cursorgetContacts.close();
                for(int l_a = 0;l_a < m_localContactNameHolderArrayList.size();l_a++)
                {
                    Log.v("", m_localContactNameHolderArrayList.get(l_a).getContactName());
                }
これは、配列リストに値を入力するためのクラスです。
static class InputProviderClass 
    {
        String l_contactName;
        String l_ContactNumber;
        public String getContactName()
        {
            return l_contactName;
        }
        public void setContactName(String contactName) 
        {
            this.l_contactName = contactName;
        }
        public String getContactNumber() 
        {
            return l_ContactNumber;
        }
        public void setContactNumber(String contactNumber) {
            this.l_ContactNumber = contactNumber;
        }
    }
問題は、私が何度も何度も単一のエントリを取得していることです。どこで間違いを犯しているのかわかりません。助けてください。よろしくお願いします。