我最近开始使用Android和Java编程,所以请耐心等待.
我写了一个循环,在将新名称和电话号码添加到列表和隐藏数组之前,应该删除它之前找到的任何重复项.使用当前的方法,我仍然可以不断重复,当单击按钮再次添加所有相同的联系人时,我再次获得所有联系人.这让我觉得重复检查方法根本不能正常工作,但我没有得到任何帮助
我有两个我在外面创建的列表数组:
List<String> phnnumbers = new ArrayList<String>();
List<String> names = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
这是添加联系人方法:
public void AddAllContacts(View view) {
try {
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
while (phones.moveToNext()) {
String linesp = System.getProperty("line.separator");
TextView quantityTextView = (TextView) findViewById(R.id.numbersview);
String name = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
duplicatecheck(name, phoneNumber);
addthistothelist(name, phoneNumber);
}
phones.close();
}
catch (Exception e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是重复检查方法:
public void duplicatecheck(String name,String phoneNumber) {
for (int i=0;i<phnnumbers.size();i++) {
String thenumber = phnnumbers.get(i);
String thename= names.get(i); …Run Code Online (Sandbox Code Playgroud)