java - Understanding basic transitions from Activity to fragment in tabs -
i'm making android application has tabs. in 1 of tabs i'm going fragment (say fragment 3) activity. working fine, activity after completion has come desired tab fragment 2. issue i'm facing right now. after going through lot of documentations i've found 1 stuff still didn't desired idea, i'm starter. link given below :
transactions form fragment activity
my mainactivity.java contains tabs , i've fragments each tabs. right i've i'm going fragment groupeditfragment.java activity named addadminactivity.java works fine me. after finishing of addadminactivity.java i've button in it. button must return fragment inside tab of mainactivity.java named addfragment.java. don't know how perform task know how come previous page.
case androd.r.id.home finish(); return true; but not want. want come fragment named addfragment.java.
this flow chart can give you:
mainactivity.java has tabs -> tabs groupeditfragment.java -> addadminactivity.java-> addfragment.java in mainactivity.java tabs again
this code want come addfragment.java
1. addadminactivity.java
public class addadminactivity extends appcompatactivity { private static final int dialogue_alert = 10; private listview mlistview; private button mbutton; //edittext input; private string[] items; mylistadapter adapter; private alertdialog alertdialog; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_add_admin); getsupportactionbar().sethomeasupindicator(r.drawable.back); getsupportactionbar().setdisplayshowhomeenabled(true); getsupportactionbar().setdisplayhomeasupenabled(true); getsupportactionbar().setdisplayshowtitleenabled(false); mbutton = (button) findviewbyid(r.id.addadmingroup); mbutton.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { //used intent giving me error, need implement come desired fragment. } }); } 2.addfragment.java :
public class addfragment extends fragment { private imagebutton imagebutton; private gridview gridview; arraylist<file> list = new arraylist<>(); public addfragment() { // required empty public constructor } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment view view = inflater.inflate(r.layout.fragment_add, container, false); imagebutton = (imagebutton) view.findviewbyid(r.id.gotobutton); gridview = (gridview) view.findviewbyid(r.id.grid_view); videoreader(environment.getexternalstoragedirectory()); gridview.setchoicemode(listview.choice_mode_multiple); gridview.setadapter(new imageadapter(getcontext())); gridview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> adapterview, view view, int position, long l) { //for making button visible ssonas item gets selected imagebutton.setvisibility(view.visible); } }); return view; } this fragment i'm going addadminactivity.java
3.groupeditfragment.java
public class groupeditfragment extends fragment { private button addbutton; public groupeditfragment() { // required empty public constructor } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment view view = inflater.inflate(r.layout.fragment_group_edit, container, false); addbutton = (button) view.findviewbyid(r.id.addgroup); addbutton.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { intent intent = new intent(getcontext(),addadminactivity.class); startactivity(intent); } }); return view; } } edits : achieving same problem i've done in in activity i'm moving fragment :
mbutton.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { intent intent = new intent(addadminactivity.this,mainactivity.class); intent.putextra("change",1); startactivity(intent); } }); this mainactivity.java same :
1.mainactivity.java
public class mainactivity extends appcompatactivity { private tablayout tablayout; private viewpager simpleviewpager; private static final int permission_request_code = 1; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setrequestedorientation(activityinfo.screen_orientation_portrait); setcontentview(r.layout.activity_main); simpleviewpager = (viewpager) findviewbyid(r.id.simpleviewpager); tablayout = (tablayout) findviewbyid(r.id.simpletablayout); final tablayout.tab firsttab = tablayout.newtab(); firsttab.seticon(r.drawable.home); tablayout.addtab(firsttab, true); final tablayout.tab secontab = tablayout.newtab(); secontab.seticon(r.drawable.plus); tablayout.addtab(secontab, true); final tablayout.tab thirdtab = tablayout.newtab(); thirdtab.seticon(r.drawable.videocall); tablayout.addtab(thirdtab, true); final tablayout.tab fourthtab = tablayout.newtab(); fourthtab.seticon(r.drawable.downloads); tablayout.addtab(fourthtab, true); final tablayout.tab fifthtab = tablayout.newtab(); fifthtab.seticon(r.drawable.groupwhite); tablayout.addtab(fifthtab, true); final tablayout.tab sixthtab = tablayout.newtab(); sixthtab.seticon(r.drawable.addshoppingcart); tablayout.addtab(sixthtab, true); final mypageradapter mypageradapter = new mypageradapter(getsupportfragmentmanager(), tablayout.gettabcount()); simpleviewpager.setadapter(mypageradapter); int change = getintent().getintextra("change",0); if(change==1){ tablayout.gettabat(0).geticon().clearcolorfilter(); tablayout.gettabat(1).geticon().setcolorfilter(color.parsecolor("#00e676"), porterduff.mode.src_in); simpleviewpager.setcurrentitem(1); } //for color code changing tabs tablayout.gettabat(0).geticon().setcolorfilter(color.parsecolor("#00e676"), porterduff.mode.src_in); tablayout.gettabat(1).geticon().setcolorfilter(color.white, porterduff.mode.src_in); tablayout.gettabat(2).geticon().setcolorfilter(color.white, porterduff.mode.src_in); tablayout.gettabat(3).geticon().setcolorfilter(color.white, porterduff.mode.src_in); tablayout.gettabat(4).geticon().setcolorfilter(color.white, porterduff.mode.src_in); tablayout.gettabat(5).geticon().setcolorfilter(color.white, porterduff.mode.src_in); simpleviewpager.addonpagechangelistener(new tablayout.tablayoutonpagechangelistener(tablayout)); tablayout.addontabselectedlistener(tablistener); tablayout.settabgravity(tablayout.gravity_fill); } after setting adapter i've mentioned if condition return same fragment. color remains there @ first position icon not on second one. tabindicator on it. second one. i've done changes in if condition problem persists.
@alok doing in app. can call addadminactivity.java using startactivityforresult , when user clicks on button in addadminactivity.java can setresult. after in onactivityresult in mainactivity.java can replace current fragment addfragment.
Comments
Post a Comment