2017-04-14 18 views
0

私は連絡先の名前から連絡先の番号を取得する必要があるアプリで働いています。私はそれを探してコード "How to get a contact's number from contact name in android" を持っていますが、同じ名前の複数のエントリーがあってもただ1つの数字しか返さないという問題があります。私は自分のコードが同じ名前を持つすべての連絡先のリストビューを返すようにしたい、そして、ユーザーは彼が望むものを選ぶことができます。すべての類似の連絡先の名前の番号を取得

答えて

0

それは

String DISPLAY_NAME = ContactsContract.Contacts.DISPLAY_NAME; 
    String NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER; 


public class SmsInviteFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor> { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.fragment_sms_invite, container, false); 

    getActivity().getSupportLoaderManager().initLoader(1, null, SmsInviteFragment.this); 
    return v; 

} 





@Override 
    public Loader<Cursor> onCreateLoader(int id, Bundle args) { 
     onStartNetCall(); 
     Uri CONTENT_URI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; 

    return new CursorLoader(getActivity(), CONTENT_URI, null, null, null, null); 
} 

public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) { 

    cursor.moveToFirst(); 
    while (!cursor.isAfterLast()) { 


     String name = "" + cursor.getString(cursor.getColumnIndex(DISPLAY_NAME)); 
     String phoneNo = "" + cursor.getString(cursor.getColumnIndex(NUMBER)); 


     cursor.moveToNext(); 


    } 

    Log.e(TAG, "onLoadFinished: "); 


} 

@Override 
public void onLoaderReset(Loader<Cursor> loader) { 

} 

} 
私のために働くローダーに

チェックアウト次の答えを使用してみてください

関連する問題