android - onActivityResult inside a RecyclerView.Adapter not being used -
i have button inside adapter goes gallery:
myadapter extends recyclerview.adapter<recyclerview.viewholder> { ... onclic..{ intent intent = new intent( intent.action_pick, android.provider.mediastore.images.media.external_content_uri); intent.settype("image/*"); ((activity) context).startactivityforresult( intent.createchooser(intent, "select file"), select_file);} .... @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); if (resultcode == result_ok) { } } .. } what i'm trying update imageview image selected gallery, in order have use onactivityresult , compiler complaining method onactivityresult never used , cannot resolve method onactivityresult.
how can go ?
note on line using activity call startactivityforresult:
((activity) context).startactivityforresult(); onactivityresult(...) callback method , should in same activity used call startactivityforresult().
you getting compiler error because there no such method override named onactivityresult(...) recyclerview.adapter.
edit:
since asked how can here 1 option.
add following interface myadapter:
public interface onclickimagelistener{ void onclick(); } then have dialog implement interface. in onclick method do:
@override public void onclick() { intent intent = new intent(intent.action_pick, android.provider.mediastore.images.media.external_content_uri); intent.settype("image/*"); startactivityforresult( intent.createchooser(intent, "select file"), select_file); } you can add onactivityresult(...) method fragment , called.
to use when create myadapter pass fragment in argument constructor , reference onclickimagelistener click listener in adapter becomes:
imageclicklistener.onclick(); also note can add index onclick() method or whatever else need know item in adapter populate image once returned.
Comments
Post a Comment