android - OnActivityResult isn't called in the fragement -


i have main activity has 2 tabs (fragments). in fragment calling new activity startactivityforresult. on new activity put result code when button pressed. problem "onactivityresult" in fragment never called , can't figure why!.

fragment code:

requestlistview.setonitemclicklistener(new adapterview.onitemclicklistener() {         @override         public void onitemclick(adapterview<?> parent, view view, int position, long id) {             view.setselected(true);             intent selectedrentrequest = new intent(getactivity(), selectedrentrequest.class);             selectedrentrequest.putextra("carnumbers", scarnumbers);             startactivityforresult(selectedrentrequest, 1);         }     });  @override public void onactivityresult(int requestcode, int resultcode, intent data) {     super.onactivityresult(requestcode, resultcode, data);     if (requestcode == 1 && resultcode == 1 && data != null) {         loadlist();         toast.maketext(getcontext(), "hi", toast.length_long).show();     } } 

second activity code (back pressed part):

@override public void onbackpressed() {     intent intent = new intent();     setresult(1, intent);     finish(); } 

main activity (tabs part):

tablayout tablayout = (tablayout) findviewbyid(r.id.maintab);     assert tablayout != null;     tablayout.addtab(tablayout.newtab().settext("سيارات محافظتك"));     tablayout.addtab(tablayout.newtab().settext("طلبات السيارات"));     tablayout.settabgravity(tablayout.gravity_fill);      final viewpager viewpager = (viewpager) findviewbyid(r.id.pager);     final pageradapter adapter = new pageradapter             (getsupportfragmentmanager(), tablayout.gettabcount(), bundle);     assert viewpager != null;     viewpager.setadapter(adapter);      viewpager.addonpagechangelistener(new tablayout.tablayoutonpagechangelistener(tablayout));      tablayout.setontabselectedlistener(new tablayout.ontabselectedlistener() {         @override         public void ontabselected(tablayout.tab tab) {             viewpager.setcurrentitem(tab.getposition());         }          @override         public void ontabunselected(tablayout.tab tab) {          }          @override         public void ontabreselected(tablayout.tab tab) {          }     }); 

in order make onactivityresult work in fragment must implement in activity because setresult method returns result activity hosts fragment not directly fragment

@override     public void onactivityresult(int requestcode, int resultcode, intent data) {             super.onactivityresult(requestcode, resultcode, data);     } 

Comments