【发布时间】:2013-04-04 14:38:54
【问题描述】:
我有一个 android 应用程序,我通过自定义 Adapter 将办公室位置加载到 ListView。
在每个ListViewItem 中,我都有一个ImageView,它是一个电子邮件图标,我已经将一个自定义OnClickListener 绑定到ImageView,它应该允许用户创建一封电子邮件以发送到办公地点。
我希望用户能够从他们设备上的电子邮件应用程序中进行选择,因此我在我的自定义 OnClickListener 中使用了 Intent.CreateChooser(),如下所示:
private class EmailOnClickListener implements OnClickListener {
private Context context;
private String email;
public EmailOnClickListener(Context context, String email) {
this.context = context;
this.email = email;
}
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {email});
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test Subject");
context.startActivity(Intent.createChooser(intent, "Send mail..."));
}
}
我一直通过我的自定义Adapter 绑定我的自定义OnClickListener,如下所示:
ImageView email = (ImageView) v.findViewById(R.id.btnEmail);
email.setOnClickListener(new EmailOnClickListener(context, contact.getEmail()));
我目前正在 Android 2.3 的 HTC Desire HD 上对此进行测试,即使我的设备上有 Gmail 和默认邮件,当我点击电子邮件图标时,它并没有显示选择器,但它只是加载直接进入 Gmail。
为什么选择器不显示?
【问题讨论】: