从Android中的联系人列表中获取联系号码但不起作用equals()

时间:2015-02-17 00:52:20

标签: android

我真的很困惑。 我想获取电话号码并保存数组

为此,我使用以下功能

public void PickContact(){

       Cursor phones = BaseContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
       NameContacts=new String[phones.getCount()];

     int i=0;
       while (phones.moveToNext())
        {

         NameContacts[i]=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

         i++;
        }

}

此方法正常运行

我会,如果联系人姓名带有特定名称,  将显示一条消息。

部分代码

   {
  String Contacts="";

    Show_Contact.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            for(int i=0;i<NameContacts.length;i++)
               Contacts+=NameContacts[i];
            text.setText(Contacts);

        }
    });
       //show all Name Contact in textView



    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

        for(int i=0;i<NameContacts.length;i++)
        {
            if(NَameContacts[i].equals("aaa"));
                Toast.makeText(getBaseContext(), ""+NumberContacts.length, Toast.LENGTH_LONG).show();


        }
}
    });
    //dont show Toast

但没有显示消息!! 声明如果,任何时候都不是真的!!!!!!!!

存储在“联系我的手机”中的名称。

“ahmad”,“ferank”,“المختار”,“مونس”,“anjeli”,“aaa”,...

有两种语言,联系列表,没问题????

1 个答案:

答案 0 :(得分:0)

问题是if语句后面的分号。

这应该有效:

if(NameContacts[i].equals("aaa"))
    Toast.makeText(getBaseContext(), ""+NumberContacts.length, Toast.LENGTH_LONG).show();

但我建议明确使用花括号:

if(NameContacts[i].equals("aaa")) {
    Toast.makeText(getBaseContext(), ""+NumberContacts.length, Toast.LENGTH_LONG).show();
}