Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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 向ListView添加联系人_Android_Listview_Contacts_Android Listview - Fatal编程技术网

Android 向ListView添加联系人

Android 向ListView添加联系人,android,listview,contacts,android-listview,Android,Listview,Contacts,Android Listview,我正在开发一个Android应用程序。我正在逐个获取所有联系人,但在将所有联系人添加到Listview时遇到问题 package com.jigar.Contact; import android.R.integer; import android.app.Activity; import android.app.ListActivity; import android.os.Bundle; import android.app.Activity; import android.conte

我正在开发一个Android应用程序。我正在逐个获取所有联系人,但在将所有联系人添加到Listview时遇到问题

package com.jigar.Contact;

import android.R.integer;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;


import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ContactStatus extends ListActivity 
{
    /** Called when the activity is first created. */
    private  String contactid;
    private String name;
    private String hasphone;
    private String phonenumber;
    private String[] dat=new String[10];
    private int count=0;
    private ListView lv;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ContentResolver cr = getContentResolver();
        //lv=(ListView)findViewById(R.id.listv);
        Cursor cur=cr.query(ContactsContract.Contacts.CONTENT_URI, null,null, null,null);

         while(cur.moveToNext())
         {
             contactid=cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
             name=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
             dat[count]=name;
             hasphone=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
             Toast.makeText(this, contactid, 1000).show();
             Toast.makeText(this, name, 1000).show();
            // dat[count]=name;
             count++;
             if(hasphone.equals("1"))
             {
                 hasphone="true";
             }

             if(Boolean.parseBoolean(hasphone))
             {

                 Cursor cphon=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactid, null, null);
                 while(cphon.moveToNext())
                 {
                     phonenumber=cphon.getString(cphon.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                     Toast.makeText(this, phonenumber, 1000).show();
                 }

             }

             //lv.setAdapter(new ArrayAdapter<String>(ContactStatus.this,android.R.layout.simple_list_item_1, dat)); 
         }
       //  ArrayAdapter arr=new ArrayAdapter(this,android.R.layout.simple_list_item_1, dat);
         //setListAdapter(arr);
    }
}
package com.jigar.Contact;
导入android.R.integer;
导入android.app.Activity;
导入android.app.ListActivity;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.ContentResolver;
导入android.database.Cursor;
导入android.os.Bundle;
导入android.provider.contacts合同;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.Toast;
公共类ContactStatus扩展ListActivity
{
/**在首次创建活动时调用*/
私有字符串联系人ID;
私有字符串名称;
私人电话;
私有字符串电话号码;
私有字符串[]dat=新字符串[10];
私有整数计数=0;
私有ListView lv;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ContentResolver cr=getContentResolver();
//lv=(ListView)findViewById(R.id.listv);
Cursor cur=cr.query(ContactsContract.Contacts.CONTENT_URI,null,null,null);
while(cur.moveToNext())
{
contactid=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.\u ID));
name=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_name));
dat[计数]=名称;
hasphone=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_电话号码));
Toast.makeText(this,contactid,1000).show();
Toast.makeText(this,name,1000).show();
//dat[计数]=名称;
计数++;
if(hasphone.equals(“1”))
{
hasphone=“true”;
}
if(Boolean.parseBoolean(hasphone))
{
游标cphon=getContentResolver().query(ContactsContract.CommonDataTypes.Phone.CONTENT\u URI,null,ContactsContract.CommonDataTypes.Phone.CONTACT\u ID+“=”+contactid,null,null);
while(cphon.moveToNext())
{
phonenumber=cphon.getString(cphon.getColumnIndex(ContactsContract.CommonDataTypes.Phone.NUMBER));
Toast.makeText(this,phonenumber,1000).show();
}
}
//lv.setAdapter(新的ArrayAdapter(ContactStatus.this,android.R.layout.simple_list_item_1,dat));
}
//ArrayAdapter arr=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,dat);
//setListAdapter(arr);
}
}

如果对问题没有更好的描述,就很难提供帮助

但是,您似乎正在onCreate中加载所有联系人数据,而不是后台线程,因此应用程序可能会因无响应而被终止

如果这是问题所在(即使不是),您应该将代码移动到后台线程中以加载联系人;这是最简单的API

如果您有其他问题,请提供:

  • 描述你期望发生或未发生的事情
  • 对数输出

您发布的代码的具体问题是什么?你希望它做什么具体的事情而不是做什么?请参考,希望它能帮助你..是的,先生,我将在我的应用程序中获取所有联系人,我可以一个接一个地获取,但是当我尝试在listview中添加所有联系人时,我遇到了麻烦,所以请提供我的问题代码Soo plzzz sir您使用什么代码来填充listview?我可以看到添加适配器的注释掉的代码,但是没有代码向其中添加数据。