Android: Nav Drawer back button can't finish application -
i'm working on app using nav drawer. unfortunately can't figure out, how can finish application, when user press button in main screen? i'm trying override button , there finish activity, doesn't work. activity finish , starts 1 time again , again..
i trying more examples like:
@override public boolean onkeydown(int keycode, keyevent event) { if ((keycode == keyevent.keycode_back)) { finish(); } homecoming super.onkeydown(keycode, event); } or override
@override public void onbackpressed() { finish(); } // edit there main activity code, of generated android studio:
public class mainactivity extends actionbaractivity implements navigationdrawerfragment.navigationdrawercallbacks { /** * fragment managing behaviors, interactions , presentation of navigation drawer. */ private navigationdrawerfragment mnavigationdrawerfragment; /** * used store lastly screen title. utilize in {@link #restoreactionbar()}. */ private charsequence mtitle; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mnavigationdrawerfragment = (navigationdrawerfragment) getsupportfragmentmanager().findfragmentbyid(r.id.navigation_drawer); mtitle = gettitle(); // set drawer. mnavigationdrawerfragment.setup( r.id.navigation_drawer, (drawerlayout) findviewbyid(r.id.drawer_layout)); } @override public void onnavigationdraweritemselected(int position, boolean fromsavedinstancestate) { // update main content replacing fragments fragmentmanager fragmentmanager = getsupportfragmentmanager(); fragmentmanager.begintransaction() .replace(r.id.container, emaillistfragment.newinstance(position)) .commit(); } public void onsectionattached(int number) { switch (number) { case 1: mtitle = getstring(r.string.title_section1); break; case 2: mtitle = getstring(r.string.title_section2); break; case 3: mtitle = getstring(r.string.title_section3); break; } } public void restoreactionbar() { actionbar actionbar = getsupportactionbar(); actionbar.setnavigationmode(actionbar.navigation_mode_standard); actionbar.setdisplayshowtitleenabled(true); actionbar.settitle(mtitle); } @override public boolean oncreateoptionsmenu(menu menu) { if (!mnavigationdrawerfragment.isdraweropen()) { // show items in action bar relevant screen // if drawer not showing. otherwise, allow drawer // decide show in action bar. getmenuinflater().inflate(r.menu.main, menu); restoreactionbar(); homecoming true; } homecoming super.oncreateoptionsmenu(menu); } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); if (id == r.id.action_settings) { homecoming true; } homecoming super.onoptionsitemselected(item); } /** * should close application when button pressed, doesn't work yet * * @param keycode * @param event * @return */ @override public boolean onkeydown(int keycode, keyevent event) { if ((keycode == keyevent.keycode_back)) { this.ondestroy(); finish(); } homecoming super.onkeydown(keycode, event); } }
i see nil wrong code - makes sense, since of template - except suggestion of using ondestroy. it's gotta android studio. i'd seek sideloading apk or creating new project , copying code over. if neither of works, it's got bug. since it'd have in activity, i'd seek extending activity instead of actionbaractivity (which limits sdk v14+), because avoids using back upwards library, removing variable problem.
android navigation-drawer
No comments:
Post a Comment