【发布时间】:2010-05-05 15:11:21
【问题描述】:
我的 android 应用程序中有一个自定义对话框。我希望在此对话框中有一个用于从联系人中选择电话号码的字段。 This example 描述了这样的 sn-p。但是对于这个例子,联系人选择器是在一个活动中创建的,如果我没有活动(如果是对话框),我不知道该怎么做
【问题讨论】:
标签: java android dialog contacts
我的 android 应用程序中有一个自定义对话框。我希望在此对话框中有一个用于从联系人中选择电话号码的字段。 This example 描述了这样的 sn-p。但是对于这个例子,联系人选择器是在一个活动中创建的,如果我没有活动(如果是对话框),我不知道该怎么做
【问题讨论】:
标签: java android dialog contacts
这段代码解决了问题。
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;
}
}
}
【讨论】: