Android 向上按钮不起作用

2023-11-26

我试图手动实现按下操作栏上的向上按钮时必须执行的操作,但由于某种原因,当我按下它时没有任何反应。

这是我的代码:

public class ActivityOne extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity_one);
        Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar_actionbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        Button button = (Button)findViewById(R.id.btn1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                openActivityTwo();
            }
        });
        Button button2 = (Button)findViewById(R.id.btn2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                openActivityThree();
            }
        });
    }


    void openActivityTwo(){
        Intent intent = new Intent(this, ActivityTwo.class);
        startActivity(intent);
    }

    void openActivityThree(){
        Intent intent = new Intent(this, ActivityThree.class);
        startActivity(intent);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_activity_one, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        else if(id == R.id.homeAsUp){
            Log.i("","Up is pressed");
            finish();
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

我知道我必须为该活动显式分配一个父活动我想在清单文件上实现向上导航,但问题是这个活动有多个父母,所以我想打电话给finish()在此活动上按下向上按钮时的方法将是更好的方法。

我已经尝试过id == R.id.home and id == R.id.homeAsUp他们都不起作用。不知道是不是因为我正在使用AppCompactActivity或者什么请帮忙


这是实现此方法的方法,请尝试此代码

使用 android.R.id.home 而不是 R.id.home 或 R.id.homeAsUp

public boolean onOptionsItemSelected(final MenuItem item) {

        switch (item.getItemId()) {
            case android.R.id.home:
                //use onBackPressed() OR finish();
                return true;

            default:
                return super.onOptionsItemSelected(item);
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 向上按钮不起作用 的相关文章

  • 从 java 活动 *.java 启动 kotlin 活动 *.kt?

    使缓存无效 重新启动 帮助我 我在java类中的代码是 Intent intent new Intent view getActivity AddPaymentActivity class view getActivity startAct
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • String.intern() 线程安全吗

    我想在Java中使用 String intern 来节省内存 对具有相同内容的字符串使用内部池 我从不同的线程调用这个方法 这是个问题吗 对你的问题的简短回答是肯定的 它是线程安全的 但是 您可能需要重新考虑使用此工具来减少内存消耗 原因是
  • java内存不足然后退出

    我有一个必须分析大文件的软件 限制输入或提供无限内存都不是一个选择 所以我必须忍受飞行的 OOME 因为 OOME 只杀死线程 所以我的软件运行在一些糟糕的状态 从外面看一切都很好 因为进程正在运行 但在内部却是脑死亡 我想拔掉它的插头 但
  • 用二进制数、常规数字和格雷编码填充矩阵

    我有一个包含 1 s 或 0 s 的矩阵 用于创建二进制数 其宽度为n 对于 n 2 和 n 3 它看起来像 00 000 01 001 10 010 11 011 100 101 110 111 等等 现在我正在使用以下代码来生成它 in
  • SFTP Java - 管道关闭 Jsch 异常

    我正在研究一种 java 方法 将文件从一个位置复制到另一个远程位置 我的代码如下 我尝试使用jsch 0 1 42 0 1 50 0 1 54 public static void processFiles ArrayList
  • 在Android项目中引用(纯java)项目(找不到类)

    我试图在我的 Android 项目中引用一个纯 java 项目 gt Java 项目有一大堆我需要使用的类 哦 正如第一个回复所指出的 我正在使用 eclipse 是的 唯一的问题是 我总是找不到类 XXX 从方法 com example
  • Corebluetooth 方法 scanForPeripheralsWithServices 在任何设备中都不适用于我。所有 github 示例均不适用于我的设备 ipod touch

    我正在开发蓝牙相关的应用程序 但我没有取得任何成功 在我的应用程序中 我想将我的 iDevice 与任何其他正在扫描的蓝牙设备连接 但使用 CBCentralManager 方法 scanForPeripheralsWithServices
  • 从另一个活动返回时 Android ListView 项目没有响应?

    我从 ArrayAdapter 创建一个 ListView ListView的每一行都有一个ImageView和一个TextView 现在我使用 setOnItemClickListener 处理单击事件 lv getListView lv
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • 如何使用Android Studio录制Android屏幕?

    我已经在 Mac 上的 Applications 文件夹中安装了 Android Studio 我认为 sdk 位于包内容中 但现在我想使用 AShot jar 录制屏幕以获取应用程序的演示视频 我必须放弃SDK的路径 当我给出我认为正确的
  • 使用 Ant 构建 Android 库项目

    我在使用 ant 构建 Android 库项目时遇到问题 当我尝试跑步时ant release 它说Target release does not exist in the project MyProject 然后我假设库可能无法通过发布
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • 优雅地避免 Java 中的 NullPointerException

    考虑这一行 if object getAttribute someAttr equals true 显然这一行是一个潜在的错误 属性可能是null我们会得到一个NullPointerException 因此我们需要将其重构为以下两个选择之一
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact
  • 如何从 Android 应用程序调用 REST API? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 android 新手 也是编程新手 如何从 Android 应用程序调用 REST api GET POST 请求 请给我推荐一
  • 如何将字符串解析为map

    有一个像A B C D E F这样的字符串 如何将其解析为map 我会使用拆分 String text A B C D E F Map
  • 与手动搜索列表相比,Collections.binarySearch 的性能如何?

    我想知道该使用哪一个 我有一份学生名单 我想用他的名字搜索一个学生 到目前为止 我是通过迭代列表手动完成的 如下所示 for int i 0 i lt list size i Student student list get i if st
  • 更改 ActionMode 溢出图标

    有没有办法更改 ActionMode Overflow 图标而不更改 正常 ActionBar 的图标 我仍然需要弄清楚如何仅更改 ActionMode Actionbar 内部的溢出图标 因为我更改了默认操作栏中的溢出图标 该图标在 Ac

随机推荐

  • 将字符串、整数和浮点数序列化为字符数组,以便在没有库的情况下进行网络连接

    我想通过网络传输数据 但我不想使用任何外部库 标准C C 就可以 例如 unsigned int x 123 char y 3 h i 0 float z 1 23f 我想要这个 char xyz 11 array 笔记 为了通过网络传输它
  • 编程 QGraphicsView 滚动未正确更新

    我有一个从 QGraphicsView 派生的自定义类 它实现了一个槽调用scrollHorizo ntal int dx 里面的代码很简单 void CustomView scrollHorizontal int dx scrollCon
  • Google Chart API 中的数字类型不匹配

    我有一个数组和第二列 其值如下2050 878456在我的 javascript 函数中创建面积图我做了以下内容 function drawVisualization var data null data new google visual
  • 如何将node.js日期转换为SQL Server兼容的日期时间?

    我有一个 Web Api 使用express and Tedious在 Azure SQL 数据库上存储一些数据 和nvarchar类型和int类型它运行良好 但是当我尝试保存时DateTime值我收到一条错误消息 Insert into
  • 如何使用 MPAndroidChart 库更改图表背景?

    我正在使用令人惊叹的图书馆MPAndroid图表 它的工作原理就像一个魅力 除非我试图更改 BarData 的背景颜色 默认颜色是白色 我想将其更改为透明 我试过这个 Paint p1 mChart getPaint Chart PAINT
  • 在 Node 应用程序之间共享代码

    我们的应用程序由两个组件组成 API 和客户端 两者都是独立的 Node 应用程序 虽然除了文档之外 API 实际上没有任何前端组件 但它们仍然共享一些通用文件 例如 Jade 组件 规范化 CSS 实用程序模块以及最重要的 Mongoos
  • 如何在 mac osx 中隐藏终端窗口?

    我有一个在 Windows Linux Android 和 Mac 上运行的多平台应用程序 它在所有平台上使用 g 编译 对于 Windows 我创建了一个安装程序 并通过添加链接器标志摆脱了终端窗口 Wl subsystem window
  • 获取团队列表时 Xcode 崩溃

    所以基本上 Xcode 6 1 每当尝试获取团队列表时都会崩溃 从主屏幕的常规选项卡中 当尝试将应用程序提交到 iTunes 时 尝试验证应用程序 每当它尝试获取团队列表时 它就会崩溃 一小时前它运行良好 但当我们在 iTunes 帐户中添
  • 未找到符号:_BIO_new_CMS

    我是 mac 新手 我不明白为什么我的 scrapy 似乎不再工作了 我怀疑 openssl 在我的 el Captain 中无效 I tried pip install cryptography pip install pyOpenSSL
  • 调用 URL - c#

    我正在尝试在 C 中调用 URL 我只对调用感兴趣 并不关心响应 当我出现以下内容时 是否意味着我正在调用该 URL HttpWebRequest request HttpWebRequest WebRequest Create url 您
  • 将百分比添加到数字中

    如何将百分比添加到总和中 我努力了var sum 3 25 3 4 但没有成功 我刚刚得到0 00作为答案 给一个数字加上一个百分比 的意思是 将该数字乘以 1 pct var sum 3 25 sum sum 1 0 034 您可以等效地
  • 适用于多种环境的 Google Cloud App Engine app.yaml

    我目前已经启动并运行了我的应用程序 app yaml and dispatch yaml位于应用程序的根目录中 我通过 Google Cloud CLI 进行部署 目前这很有效 尽管当我开始拥有一个dev staging and prod环
  • 如何在 Javascript 中捕获有关文本选择更改的 iOS Safari 事件?

    以下场景 在 iOS Safari 上选择文本 假设是 正常 html 页面 时 会出现蓝色叠加层 表明您已选择特定段落 此外 您可以更改该选择 以更正您的初始选择区域 我有兴趣在选择区域更改完成时准确捕获该事件 是否有可能 如果是的话 如
  • 类成员的自定义属性

    我使用自定义属性来定义类的成员如何映射到属性以作为表单帖子 支付网关 发布 我的自定义属性工作得很好 并且能够通过 名称 获取属性 但希望通过成员本身获取属性 例如 getFieldName name vs getFieldName obj
  • Servlet 过滤器和 Servlet 上下文侦听器有什么区别?

    使用 Servlet 过滤器与 Servlet 上下文侦听器有什么区别 你什么时候会使用其中之一 A Filter拦截与其 URL 模式匹配的 HTTP 请求并允许您修改它们 另请参阅其javadoc 过滤器是一个对象 它对资源 servl
  • PowerShell cmdlet 参数值选项卡完成

    如何在 PowerShell 3 0 中实现 PowerShell 函数或 cmdlet 例如 Get Service 和 Get Process 的参数选项卡补全 我发现验证集适用于已知列表 但我想按需生成列表 亚当 德里斯科尔暗示这是可
  • 调试期间是否运行垃圾收集?

    我有一个程序可以打开 Excel COM 对象 执行一些操作 然后关闭它 然后我想在关闭后移动该文件 如果我在没有断点的情况下运行程序 则效果很好 但是 如果我进入调试模式before我尝试移动文件时收到 IOException 该进程无法
  • 隐藏 iframe 上的水平滚动条?

    我需要使用 css jquery 或 js 隐藏 iframe 上的水平滚动条 我建议结合使用 CSS overflow y hidden scrolling no 适用于 HTML4 and seamless seamless for H
  • R 和 HDF5 问题

    我正在尝试将 hdf5 加载到 R 中并遇到一些问题 以下是我配置环境所采取的步骤 Mac OS X 10 6 上的 R 2 10 0 x64 通过 macports 安装 hdf5 1 8 3 来自 CRAN 的 hdf5 1 6 9 t
  • Android 向上按钮不起作用

    我试图手动实现按下操作栏上的向上按钮时必须执行的操作 但由于某种原因 当我按下它时没有任何反应 这是我的代码 public class ActivityOne extends AppCompatActivity Override prote