操作栏上的“后退”按钮 – Android。 怎么去“回”?

图片


行动吧

我说的是(图中的1号),带有小箭头的按钮和应用程序图标以及屏幕的左上角。 当我们选择“黑色活动”模板时会自动定义它。

我的应用程序有一个非常庞大的层次结构图,现在有大约25个活动。 我基本上只是展示了一些教程,可以根据类别导航到它。

现在每个屏幕上都有动作栏上的“后退”(?)按钮,我确实希望保留它。 代码显示没有错误,但当我实际按下该按钮时,应用程序停止工作。 我想要的是用我在图像中显示的那个(Number 1)按钮复制实际的后退按钮function。 当我按下它时,最顶部的屏幕应该关闭,最后一个屏幕应该打开。 只需关闭屏幕。

我尝试了什么:

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } 

这是将错误按钮与操作栏一起膨胀的function。 我试图替换整个代码,并调用“完成”function,但失败了。 我无法find专门针对最左上方按钮的function……

当触摸此按钮时,我希望关闭堆栈中的最顶层屏幕(前景中的一个)。 这个怎么做 ?

我认为最简单的方法如下:

我假设你从活动A开始活动B 现在,从活动B您需要按操作栏上的左上方按钮返回活动A 只需从那里调用this.finish()ActivityName.this.finish()

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); return true; } return super.onOptionsItemSelected(item); } 

这应该完成您当前的活动。 但是,如果您有很多活动,那么您可能必须在所有活动中执行此操作。 为了避免这种努力,你可以让一个类让它称之为AbstractActivity ; 扩展Activity 。 然后,您可以扩展所有其他活动类以扩展该类( AbstractActivity )。 在AbstractActivity里面你可以放上面的代码。 所以现在这段代码对你的所有活动都有效,并且将为所有这些活动实现该function。 基本上这种事物( inheritance )可以在任何时候使用,当有一些常见的function适用于你的许多类。

如果您收到任何错误,请在需要进一步帮助时发布LogCat 。 希望这对你有所帮助。

只给出@shobhit puri给出的基本代码…

用于调用操作栏后退按钮..在onCreate()方法中添加以下代码以及onOptionsItemSelected ….

 protected void onCreate(Bundle savedInstanceState) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); super.onCreate(savedInstanceState); setContentView(R.layout.activity_information); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); return true; } return super.onOptionsItemSelected(item); }