2013-10-25 4 views
1

Iam, выбирая несколько контактов с помощью CustomMultiAutoCompleteTextView с ссылкой this в этом коде, выбирая несколько контактов, но я хочу показать, какие номера выбираются в сообщении тоста. при нажатии кнопки для этого я модифицирована этот код в 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> 

и я добавил это поле в 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(); 

Есть 2 версии Toast.makeText. В одном, вторым параметром является String, в другом - идентификатор ресурса int.

Вы передаете его int map.size(), и он считает, что это идентификатор ресурса, который он не может найти. Поэтому вы получаете android.content.res.resources.notfoundexception

+0

@ user2918549 это должно сработать ... –

+0

нормально работает ли я знаю, как получить выбранные контакты, то есть имя и номер контакта на этой карте – user2918549

+0

, когда вы получили правильный ответ, не забудьте проголосовать за ответ] –

Смежные вопросы