jjzjj

OnBackpressed

全部标签

java - 恢复上一个 fragment onBackPressed()?

我有一个HomeFragment,它有一个按钮,单击时会调用以下内容:Fragmentfrag=newCustFragment();FragmentManagerfragmentManager=getFragmentManager();fragmentManager.beginTransaction().replace(R.id.home_container,frag).commit();然后在我的FragmentActivity中,也就是上面提到的fragment,我有:@OverridepublicvoidonBackPressed(){getFragmentManager().p

android - 如何在知道菜单项的十进制值的情况下找出菜单项的字符串 ID?

我正在使用android-support-v7-appcompat。在一个Activity中,我想在操作栏中显示后退按钮。我这样做:publicclassNewsextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.act_news_screen);getSupportActionBar().setDisplayHomeAsUpEnabled(true);get

android - 无法捕获android后退按钮事件

我正在尝试捕捉Android的后退按钮事件。我知道表格上已经有很多关于此的内容,但是,我的代码无法像给出的示例那样工作。这是我捕获事件的代码fragment:@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK){Log.d(TAG,"backkeycaptured");returntrue;}returnsuper.onKeyDown(keyCode,event);}我也试过这个:@OverridepublicvoidonBackPressed(){Log

android插入 Activity 堆栈

问题如下:假设Activity堆栈由A->B->C组成。如果用户遵循以下顺序,例如:开始A->B->C,按下后退按钮将导致C->B->A。但是,如果用户直接进入ActivityC(例如:通过通知),按下后退按钮将导致应用关闭,而不是进入B->A。我如何将a插入到Activity堆栈中以变为A->B->C,以便当用户在C处按下时,它总是会返回到B。谢谢 最佳答案 只需覆盖activityc中的onBackPressed()方法和startactivityB以及activityb中的startactivitya。在Activityc中有

android - onBackPressed 方法无法正常工作

在我的应用程序中有一个EditText。我已经为这个EditText的Activity调用了keypadshow。键盘显示和工作正常。目前,我必须按两次后退按钮,一次用于隐藏键盘,另一次用于执行某些任务(例如将数据保存到数据库)。我不想按两次后退按钮。请指导我,或建议这里有一些来自onBackPressed()@OverridepublicvoidonBackPressed(){//TODOAuto-generatedmethodstubsuper.onBackPressed();hideKeypad();//savingEditTextdatatodb.}代码形式hideKeypad

Android onBackPressed/onUserLeaveHint

确实需要一些建议。我有一个Activity正在运行我的游戏,当用户按下后退按钮时,它将使用onBackPressed()方法退出回到主菜单,但我也覆盖了onUserLeaveHint()以执行相同的操作,如果Home按下按钮或接到电话。然而,当按下返回按钮时也会调用此方法,这意味着主菜单Intent会被调用两次,一个在另一个之上。如果有人知道如何解决这个问题或有更好的方法来处理这两个事件,我们将不胜感激。谢谢。 最佳答案 onUserLeaveHint()与Activity的其他生命周期方法一样是protected方法,如果您正在处

android - 关闭 fragment backPress 上的不可取消对话框 - Android

我有一个抽屉导航Activity和许多通过抽屉导航到达的fragment。在其中一些fragment中,我展示了一个对话框,上面写着“正在加载..”,同时后台任务正在发生。现在,我已通过dialog.setCancelable(false)使我的对话框不可取消,这样用户就不会通过单击屏幕上的任意位置而意外关闭它。这使得即使按下手机后退按钮也无法取消。这是我的对话框的代码-Dialogdialog=newDialog(context);dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);dialog.setContentView(R.

android - 如何检测向上按钮是否被按下

在我的Activity中,操作栏仅显示左箭头和Activity标题。当我按下向左箭头时,Activity返回到上一个Activity,但在onKeyUp、OnkeyDown和OnBackPressed方法中没有注册任何事件。但是当我按下手机上的返回键(在底部)时,Activity会返回到前一个,并且所有onKeyUp、OnKeyDown和OnBackPressed方法都会注册一个事件(在logcat中)。我怎样才能捕捉到左箭头(我认为它叫做向上按钮)?我需要捕获key的原因是要在onPause方法中知道Activity是由用户而不是系统销毁的(例如,如果用户切换到另一个Activity

Android - 使用 toast 确认应用程序退出

我是Android开发的新手,我想要它,所以当用户在主要Activity上按下后退按钮时,会出现一条toast消息,其中包含“再次按下后退按钮确认退出”消息。我该怎么做?这是我目前所拥有的:@OverridepublicvoidonBackPressed(){//TODOAuto-generatedmethodstubsuper.onBackPressed();Toasts=Toast.makeText(getBaseContext(),"Pressbackagaintoexit",Toast.LENGTH_LONG);s.show();wait();publicbooleanonBa

android - 为什么没有调用 onBackPressed()?

我正在尝试覆盖onBackPressed()。但是,当我单击操作栏中的后退按钮时,它似乎没有检测到。我目前有这段代码:@OverridepublicvoidonBackPressed(){Log.i("DATA","HitonBackPressed()");super.onBackPressed();}日志消息永远不会出现在LogCat中。我知道这个日志语句有效,因为它是从另一个方法复制的,带有不同的消息,该消息确实显示在LogCat中。我已经搜索了答案,并且尝试使用onKeyDown并检测是否单击了返回按钮,但我仍然遇到同样的问题。项目信息:AndroidStudio0.9.3方法位