Java 检索所有相似联系人姓名的号码

Java 检索所有相似联系人姓名的号码,java,android,Java,Android,我正在开发一个需要从联系人姓名中检索联系人号码的应用程序。我搜索了它,得到了代码“” 但问题是,即使有多个同名条目,它也只返回一个数字。我希望我的代码返回具有相同姓名的所有联系人的列表视图,然后用户可以选择他想要的任何联系人。尝试使用loader 看看下面的答案,它对我有用吗 String DISPLAY_NAME = ContactsContract.Contacts.DISPLAY_NAME; String NUMBER = ContactsContract.CommonDataKi

我正在开发一个需要从联系人姓名中检索联系人号码的应用程序。我搜索了它,得到了代码“” 但问题是,即使有多个同名条目,它也只返回一个数字。我希望我的代码返回具有相同姓名的所有联系人的列表视图,然后用户可以选择他想要的任何联系人。

尝试使用loader

看看下面的答案,它对我有用吗

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) {

}

}
String DISPLAY\u NAME=Contacts contract.Contacts.DISPLAY\u NAME;
字符串编号=contacts contract.commonDataTypes.Phone.NUMBER;
公共类SmsInviteFragment扩展片段实现LoaderManager.LoaderCallbacks{
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.layout.fragment\u sms\u invite,container,false);
getActivity().getSupportLoaderManager().initLoader(1,null,SmsInviteFragment.this);
返回v;
}
@凌驾
公共加载器onCreateLoader(int-id,Bundle-args){
onStartNetCall();
Uri CONTENT\u Uri=contacts contract.commondatatypes.Phone.CONTENT\u Uri;
返回新的游标装入器(getActivity(),CONTENT_URI,null,null,null,null);
}
public void onLoadFinished(加载器arg0,光标){
cursor.moveToFirst();
而(!cursor.isAfterLast()){
String name=“”+cursor.getString(cursor.getColumnIndex(DISPLAY_name));
字符串phoneNo=”“+cursor.getString(cursor.getColumnIndex(NUMBER));
cursor.moveToNext();
}
Log.e(标记“onLoadFinished:”);
}
@凌驾
公共void onLoaderReset(加载器){
}
}