我想使短信应用程序我有列表视图,有人谁给我发短信,但姓名重复我的代码是
public class MainActivity extends AppCompatActivity {
Cursor cursor;
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=findViewById(R.id.listview);
ArrayList<String> contacts =new ArrayList<>();
ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,contacts);
listView.setAdapter(arrayAdapter);
cursor = getContentResolver().query(Uri.parse("content://sms"), null, null,null,null);
cursor.moveToFirst();
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_SMS}, PackageManager.PERMISSION_GRANTED);
String address = cursor.getString(cursor.getColumnIndex("address"));
String body = cursor.getString(cursor.getColumnIndex("body"));
cursor.moveToFirst();
while(cursor.moveToNext()){
contacts.add("from: "+cursor.getString(cursor.getColumnIndex("address"))
+"\n"+cursor.getString(cursor.getColumnIndex("body")));
cursor.moveToNext();
}
}
}
如果我移除 +"\n"+cursor.getString(cursor.getColumnIndex("body")));
从while循环中,我将得到所有发短信给我的人的号码,如果有人多次给我发短信,他的号码将重复多次这是一个屏幕截图
我应该怎么做才能让列表视图中的每个数字都有一个
希望大家能理解
1条答案
按热度按时间ru9i0ody1#
将while循环更改为