java -  Action 栏上的"Back"按钮-Android。怎么去"back"?-LMLPHP

Action Bar

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

我的应用程序有一个非常庞大的层次结构图,现在大约有25个 Activity 。
我基本上只是显示一些教程,并且可以根据类别浏览至该教程。

现在,操作栏上的“返回”(?)按钮已经在每个屏幕上出现了,我确实希望保留它。该代码未显示任何错误,但是当我实际按下该按钮时,该应用程序停止运行。
我想要的是仅使用图像中显示的那个(数字1)按钮复制实际的后退按钮功能。
当我按它时,最上面的屏幕应该关闭,最后一个屏幕应该打开。只需关闭屏幕即可。

我试过了

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:

            NavUtils.navigateUpFromSameTask(this);
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

这是使 buggy 按钮以及操作栏膨胀的功能。我试图替换整个代码,并调用“完成”功能,但是失败了。
我找不到最左上角按钮专用的功能...

我希望在触摸此按钮时关闭堆栈中最上面的屏幕(前景中的一个)。
这该怎么做 ?

最佳答案

我认为最简单的出路如下:

我假设您是从A Activity 开始的B Activity 。现在,您想从 Activity B返回 Activity 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);
    }

这样就可以完成您当前的 Activity 。但是,如果您有很多 Activity ,则可能必须在所有 Activity 中都执行此操作。为了节省您的精力,您可以创建一个类,称为AbstractActivity;扩展了Activity。然后,您可以扩展所有其他 Activity 类以扩展该类(AbstractActivity)。在AbstractActivity内部,您可以放置​​上面的代码。因此,现在这段代码将对您的所有 Activity 均有效,并且对该功能也将对其全部实现。基本上,这种东西(Inheritance)可以在任何适用于许多类的通用功能时随时使用。

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

10-07 19:27
查看更多