Выбор контактов в диалоге

1

У меня есть пользовательский диалог в приложении для Android. Я хочу иметь в этом диалоговом окне поле для выбора номера телефона из контактов. В этом примере описывается такой фрагмент. Однако для этого примера создатель контактов создается внутри действия, и я не знаю, как это сделать, если у меня нет активности (в случае диалога)

Теги:
dialog
contacts

1 ответ

1
Лучший ответ

Этот код решает проблему.

  public class ContactFieldActivity extends Activity {
private static final int PICK_NUMBER = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.field_contact);

    Button btnContacts = (Button)findViewById(R.id.btn_contacts);

    btnContacts.setOnClickListener(new OnClickListener() {  

        public void onClick(View arg0) {  
            Intent intent = new Intent(Intent.ACTION_PICK, Phones.CONTENT_URI);
            startActivityForResult(intent, PICK_NUMBER);
        }});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode) {  
         case (PICK_NUMBER):  
             if (resultCode == Activity.RESULT_OK) {  
                 Uri contactData = data.getData();  
                 Cursor c = managedQuery(contactData, null, null, null, null);  
                 if (c.moveToFirst()) {  
                     String number = c.getString(c.getColumnIndexOrThrow(Phones.NUMBER));
                     EditText edit = (EditText)findViewById(R.id.editNumber);
                     edit.setText(number);  
                 }  
             }  
             break;  
     }      
}   

}

  • 0
    Это будет работать только из действия или фрагмента. Вы не можете получить onActivityResult в диалоге.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню