0
我想從手機中獲取所有聯繫人和他們的號碼,當我嘗試打印檢索後的值時,數組似乎被剪切並且幾乎不打印一半的結果,爲什麼這可能會發生,但在列表視圖中全部被打印。片段如下Arraylist沒有所有值
String namearray[];
String phonearray[];
lv1 = (ListView) findViewById(R.id.listView1);
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
//Read Contact Name
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
//Read Phone Number
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
namecsv += name + ",";
phonecsv += phoneNumber + ",";
}
phones.close();
//==============================================
// Convert csvstrimg into array
//==============================================
namearray = namecsv.split(",");
phonearray = phonecsv.split(",");
System.out.println("Names: " +phonecsv.toString());
//Create Array Adapter and Pass ArrayOfValues to it.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,android.R.id.text1,namearray);
//BindAdpater with our Actual ListView
lv1.setAdapter(adapter);
有什麼建議嗎?
只是注意:不要串聯'內循環String's,使用''StringBuilder'or代替StringBuffer'。 – manfcas
您在ListView中顯示namearray時正在打印phonecsv,是否有些名稱沒有相應的電話號碼? – rnk
@manfcas只有'StringBuilder','StringBuffer'已過時。 – Tom