2017-04-05 16 views
0

連絡先リストに既に格納されている連絡先のリストをリストビューに保存しようとしています。これまでのところ、ボタンをクリックすると何も起こりません。実行時エラーはありません。単に何も起こらない。これはGoogle Nexus 7で実行されています。連絡先を取得してリストビューに表示する

ここにコードがあります。

contactsList = (ListView) findViewById(R.id.contactsList); 
     btnContacts = (Button) findViewById((R.id.btnContacts)); 
     StoreContacts = new ArrayList<String>(); 

     // toasts the user that their contacts are now being accessed 
//  EnableRuntimePermission(); 

     btnContacts.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       GetContactsIntoArrayList(); 

       arrayAdapter = new ArrayAdapter<String>(
         DisplayInformation.this, 
         R.layout.activity_display_information, // possibly change if it doesn't work 
         R.id.contactsList, StoreContacts 
       ); 

       contactsList.setAdapter(arrayAdapter); 
       contactsList.setTextFilterEnabled(true); 
} 

    }); 


    public void GetContactsIntoArrayList() { 

     cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); 

     while (cursor.moveToNext()) { 

      name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
     } 
    } 
+0

ArrayAdapterを使用しないでください。 –

+0

また、 'StoreContacts'は決して変更されず、' GetContactsIntoArrayList'は決して何も取得しません... –

+0

これは、質問がCursorAdapterを使用し、電話番号をさらに表示するために答えがArrayAdapterを使用するのに役立ちます: http://stackoverflow.com/questions/29636406/displaying-the-phone-number-of-a-contact-in-android-contact-content-provider –

答えて

0
public void GetContactsIntoArrayList() { 

    cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); 

    while (cursor.moveToNext()) { 

     name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
StoreConacts.add(name); 

    } 
} 
+0

コードにこの数行を追加するだけです。 –

関連する問題