![](/img/trans.png)
[英]How to use onActivityResult in RecyclerView.Adapter
[英]Need help on how to use onActivityResult() on Adapter Class?
当我使用super.onActivityResult(requestCode, resultCode, data);
时,我试图从适配器类的联系人列表中返回电话号码super.onActivityResult(requestCode, resultCode, data);
我出错了。
btnContactGift.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
// Show only contacts with phone numbers
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
// Start the Contacts activity
context.startActivityForResult(intent, PICK_CONTACT);
}
});
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case PICK_CONTACT :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
String[] projection = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Photo.PHOTO_THUMBNAIL_URI};
Cursor c = conR.query(contactData, projection, null, null, null);
c.moveToFirst();
int nameIdx =c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
int phoneNumberIdx =c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
int photoIdx = c.getColumnIndex(ContactsContract.CommonDataKinds.Photo.PHOTO_THUMBNAIL_URI);
String name = c.getString(nameIdx);
String phoneNumber = c.getString(phoneNumberIdx);
String photo = c.getString(photoIdx);
if (name == null) {
name = "No Name";
}
String nwPhone = phoneNumber.replace("+251", "0");
edtPhoneGift.setText(nwPhone);
c.close();
// Now you have the phone number
}
break;
}
}
无法解析方法onActivityResult(int,int,Intent)
onActivityResult()
需要在您调用startActivityForResult()
的活动或片段上实现。 在您的情况下,这就是context
所标识的任何活动或片段(来自context.startActivityForResult(intent, PICK_CONTACT)
)。
只需删除对super super.onActivityResult(requestCode, resultCode, data)
的调用,则不需要。
另外,您需要将投影中的ContactsContract.CommonDataKinds.Photo.PHOTO_THUMBNAIL_URI
更改为其他内容,您可以从电话选择器意图返回的Uri
获取Photo.XXX
字段,仅在Phone.XXX内的列或隐式连接到其中。您可以尝试改用Contacts.PHOTO_ID
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.