2014-03-31 14 views
0

我想添加兩個數組列表爲一體,從而使其成爲一個和顯示..,在一個ArrayList中,從contactlist和其他IM retriving號IM名字檢索。通過combinig這兩個我想顯示他們在自動完成textview。 MainActivity如何將兩個數組列表融入其中,用自己的索引值

Cursor phones = cr.query(
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, 
       null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME 
         + " ASC"); 
     while (phones.moveToNext()) { 
      phoneNumber = phones 
        .getString(phones 
          .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
      name = phones 
        .getString(phones 
          .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 

      System.out.println(phoneNumber); 


      name1.add(name); 
      phno1.add(phoneNumber); 
     // meMap.put("name1","phno1"); 
     // mPeopleList.add(name); 
     // mPeopleList.add(phoneNumber); 
      ArrayList<HashMap<String, String>> inviteList = new ArrayList<HashMap<String, String>>(); 
      for(int i=0;i < name1.size();i++) 
      { 
       HashMap map = new HashMap<String, String>(); 
       map.put(name1.get(i).toString()); 
       map.put("emailID", inviteListRespone.get(i).getEmail()); 
       inviteList.add(map); 
      } 
     } 
searchText = (AutoCompleteTextView) findViewById(R.id.autocomplete); 
    //String[] from={ Phone.DISPLAY_NAME, phoneNumber}; 

     adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_dropdown_item_1line,name1); 

     lv = (ListView) findViewById(R.id.lv); 

     ma = new MyAdapter(); 

     searchText.setThreshold(1); 
     searchText.setAdapter(adapter); 

回答

0

只是爲了澄清,你是從數據庫中檢索的電話號碼和姓名,並要顯示他們在一個列表?

如果你想使用一個陣列適配器,這我不reccommend,你將有你的信息合併到一個單一的字符串,因爲你正在使用的佈局只包含一個TextView的。

您的代碼合併應該是這個樣子

for (int i = 0; i < name1.size(); i++) { 
    String name = name1.get(i); 
    name += " " + phno1.get(i); 
} 

,然後通過剛剛名單到適配器。

但你可能只是改變你的代碼

while (phones.moveToNext()) { 
      phoneNumber = phones 
        .getString(phones 
          .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
      name = phones 
        .getString(phones 
          .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 

      System.out.println(phoneNumber); 


      name1.add(name + " " + phoneNumber); // changed this 
      ... 

這樣你不會有再次遍歷列表。

+0

非常感謝你@Daniel博 – Himani

相關問題