【问题标题】:Contact picker in a dialog对话框中的联系人选择器
【发布时间】:2010-05-05 15:11:21
【问题描述】:

我的 android 应用程序中有一个自定义对话框。我希望在此对话框中有一个用于从联系人中选择电话号码的字段。 This example 描述了这样的 sn-p。但是对于这个例子,联系人选择器是在一个活动中创建的,如果我没有活动(如果是对话框),我不知道该怎么做

【问题讨论】:

    标签: java android dialog contacts


    【解决方案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;  
         }      
    }   
    

    }

    【讨论】:

    • 这仅适用于活动或片段。您无法在对话框中获取 onActivityResult。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    相关资源
    最近更新 更多