2013-10-25 116 views
1

Iam選擇多個聯繫人使用CustomMultiAutoCompleteTextView與this在該代碼中的參考選擇多個聯繫人,但我想顯示什麼是在吐司消息上選擇數字。當點擊該按鈕i修改的代碼 在main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <com.krishna.widget.CustomMultiAutoCompleteTextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/editText" 
     android:textColor="@android:color/black"/> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

</LinearLayout> 

和i的CustomMultiAutoCompleteTextView.java

public HashMap<String, String> con=new HashMap<String, String>(); 

加入此字段用於本Hashmap

保存聯繫人號碼我修改在

CustomMultiAutoCompleteTextView.java 


public void init(Context context){ 


.... 

this.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 

... 
con.put(contact.num.toString(), contact.contactName.toString()); 
} 
}); 

    } 
and i modified 
MainActivity.java 

這樣

public class MainActivity extends Activity implements OnClickListener{ 
    Button b1; 
    private CustomMultiAutoCompleteTextView phoneNum; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     phoneNum = (CustomMultiAutoCompleteTextView) 
       findViewById(R.id.editText); 
     ContactPickerAdapter contactPickerAdapter = new ContactPickerAdapter(this, 
       android.R.layout.simple_list_item_1, SmsUtil.getContacts(
        this, false)); 
     phoneNum.setAdapter(contactPickerAdapter); 
     b1=(Button)findViewById(R.id.button1); 
     b1.setOnClickListener((OnClickListener) this); 
     //phoneNum.addTextChangedListener((TextWatcher)); 
     } 
    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     CustomMultiAutoCompleteTextView phoneNum=(CustomMultiAutoCompleteTextView)findViewById(R.id.editText); 
     HashMap<String, String> map=(HashMap<String, String>)phoneNum.con; 

     try{ 



      Toast.makeText(this, map.size(), Toast.LENGTH_LONG).show(); 
     }catch(Exception e) 
     { 
      Log.e("eee",e.toString()); 
     } 

    } 




    } 

現在ARTER執行我選擇,如果IAM按下按鈕後,一個接觸我是unable to get map size() 存在的IAM越來越android.content.res.resources$notfoundexception string resource id #0x1 我可以知道爲什麼這個錯誤是正在添加。如何讓選擇在主要活動中的聯繫信息的任何機構幫我解決這個問題

+0

你應該包括你的錯誤日誌。我包括了 –

+0

。 iam在按鈕中訪問map.size()時發生錯誤點擊 – user2918549

回答

2

更改此:

Toast.makeText(this, map.size(), Toast.LENGTH_LONG).show(); 

要這樣:

Toast.makeText(this, String.valueOf(map.size()), Toast.LENGTH_LONG).show(); 

還有的Toast.makeText 2個版本。其中一個參數是一個String,另一個參數是一個int資源ID。

您傳遞給它一個int map.size()它認爲它是一個資源ID,它找不到。因此你得到android.content.res.resources.notfoundexception

+0

@ user2918549這應該工作... –

+0

確定它工作我可以知道如何得到選定的聯繫人,即名稱和聯繫號碼在該地圖 – user2918549

+0

當你得到正確的答案,不要忘記投票答案] –

相關問題