【发布时间】:2020-12-26 03:06:26
【问题描述】:
我有联系电话列表屏幕。我将这些联系人存储在 SQLite 数据库中并从中显示。
我需要过滤仅包含国家代码的手机号码。当用户使用前缀“0”和不带前缀“0”保存相同的号码时。例如 - +919876543211, 09876543211, 9876543211。当用户像示例一样保存时,我只需要显示带有国家代码的手机号码。
如果用户只保存手机号码需要单独显示或带有前缀“0”表示需要单独显示。
for(int i=0; i < arrayListContact.size()-1; i++){
if(arrayListContact.get(i).getContact().startsWith("+")){
plusArrayList.add(arrayListContact.get(i));
} else if(arrayListContact.get(i).getContact().startsWith("0")){
zeroArrayList.add(arrayListContact.get(i));
} else {
mobileArrayList.add(arrayListContact.get(i));
}
}
tempArrayList.addAll(plusArrayList);
for(int i=0; i < tempArrayList.size()-1; i++){
String mobile = tempArrayList.get(i).getContact();
String mobileWithout = getMobileNumberAlone(mobile);
for (int j = 0; j < zeroArrayList.size() - 1; j++) {
if(!zeroArrayList.get(j).getContact().equals("0" + mobileWithout)){
tempArrayList.add(zeroArrayList.get(j));
}
}
}
我将 tempArrayList 传递给适配器。但在下面的循环中,它正在无限循环。
【问题讨论】:
标签: java android sorting for-loop arraylist