我正试图在list
中显示联系人。无论我做什么,它都行不通。
有人可以帮我这个吗?
P.S我是新来的。所以告诉我,如果我做错了什么。
public class MainActivity extends AppCompatActivity
{
ArrayList<String> name = new ArrayList<String>();
ListView list;
Cursor phones;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView)findViewById(R.id.list);
phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while(phones.moveToNext())
{
String contactName = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
name.add(contactName);
}
phones.close();
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, name);
list.setAdapter(adapter);
}
}
答案 0 :(得分:0)
似乎您没有询问获取电话联系人的运行时权限。从Android M及以上版本开始,您需要获得在运行时阅读手机联系人的权限。
检查此链接,了解如何请求运行时权限 - https://developer.android.com/training/permissions/requesting.html
您也可以使用Google图书馆 - https://github.com/googlesamples/easypermissions来请求权限。