Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能从android中点击的按钮上获得联系人列表和字母表?_Android - Fatal编程技术网

我怎样才能从android中点击的按钮上获得联系人列表和字母表?

我怎样才能从android中点击的按钮上获得联系人列表和字母表?,android,Android,我在应用程序中使用此代码来显示整个联系人列表,现在我想解析联系人列表,如-如果我按下带有文本“A”的按钮,它应该显示从字母“A”开始的联系人。有没有办法为此更改查询 @Override public void onActivityResult(int reqCode, int resultCode, Intent data) { super.onActivityResult(reqCode, resultCode, data); switch (reqCode) { c

我在应用程序中使用此代码来显示整个联系人列表,现在我想解析联系人列表,如-如果我按下带有文本“A”的按钮,它应该显示从字母“A”开始的联系人。有没有办法为此更改查询

@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);

    switch (reqCode) {
        case (PICK_CONTACT) :
                            if (resultCode == Activity.RESULT_OK) {
                                Uri contactData = data.getData();
                                Cursor c =  getContentResolver().query(contactData, null, null, null, null);
                                if (c.moveToFirst()) {
                                String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                                Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
                            }
                    }
        break;
    }
}
试试这个: 首先从按钮中获取文本

 Button b = (Button) findViewById(R.id.button);
String buttonText = b.getText().toString();
并按以下步骤操作

SELECT * FROM TABLE WHERE CONCERNEDCOLUMN LIKE 'a%';//here starts with 'a'
因此,您需要更改查询,以便

String query = "SELECT * FROM TABLE WHERE CONCERNEDCOLUMN LIKE '"+buttonText+"%'";
附言:从上面的想法,不要只是复制粘贴。查询字符串可能也有错误。然后将查询用作rawQuery

db.rawQuery(query, null);// may be return this

尝试这样修改您的查询

Cursor c =  getContentResolver().query(contactData, null, null, null, ContactsContract.Contacts.DISPLAY_NAME + " LIKE " + yourText +"%";

您可以将where条件作为最后一个参数

谢谢,您能解释一下如何在android应用程序代码中使用上述查询吗?@user2542088请告诉我它是否工作正常。最好的luck@user2542088询问上述回答中是否有问题,看一看,可能会对您有所帮助: