AppCompat PreferenceActivity 向上按钮不起作用

2023-12-02

我正在尝试创建一个扩展 AppCompatPreferenceActivity 并在操作栏中实现向上按钮的活动。视觉上一切看起来都很好,但向上按钮不响应触摸事件。以下是我的java和xml代码:

PrefrencesDisplayActivity.java

package com.example.matthew.testsettings;

import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CoordinatorLayout;
import android.support.v7.widget.Toolbar;
import android.widget.ListView;
import android.widget.RelativeLayout;

import java.util.List;

public class PreferencesDisplayActivity extends AppCompatPreferenceActivity {
    CoordinatorLayout activityRoot;
    AppBarLayout appBarLayout;
    Toolbar toolbar;
    RelativeLayout contentRoot;
    ListView preferencesList;

    @Override
    public void onBuildHeaders(List<Header> target) {
        loadHeadersFromResource(R.xml.preferences, target);
        initialiseUI();
    }

    private void initialiseUI() {
        // Inflate activity layout from xml
        setContentView(R.layout.activity_preferences_display);

        // Get handles to UI elements
        activityRoot = (CoordinatorLayout) findViewById(R.id.prefDisplay_activity_root);
        appBarLayout = (AppBarLayout) findViewById(R.id.prefdisplay_activity_appBarLayout);
        toolbar = (Toolbar) findViewById(R.id.prefDisplay_activity_toolbar);
        contentRoot = (RelativeLayout) findViewById(R.id.prefDisplay_content_root);
        preferencesList = (ListView) findViewById(android.R.id.list);

        // Create and configure action bar
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

Activity_prefrences_display.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:theme="@style/AppTheme.NoActionBar"
    android:id="@+id/prefDisplay_activity_root"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.example.matthew.testsettings.PreferencesDisplayActivity">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/prefdisplay_activity_appBarLayout"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/prefDisplay_activity_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay"/>
    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_preferences_display"/>

</android.support.design.widget.CoordinatorLayout>

内容_首选项_显示.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/prefDisplay_content_root"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_preferences_display"
    tools:context="com.example.matthew.testsettings.PreferencesDisplayActivity">

    <ListView
        android:id="@id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
</RelativeLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest
    package="com.example.matthew.testsettings"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">

            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity
            android:name=".PreferencesDisplayActivity"
            android:label="@string/title_activity_preferences_display"
            android:parentActivityName="com.example.matthew.testsettings.MainActivity"
            android:theme="@style/AppTheme.NoActionBar">

            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.matthew.testsettings.MainActivity"/>
        </activity>
    </application>
</manifest>

当我打开应用程序并导航到首选项活动时,屏幕看起来应该是这样,但按向上按钮没有任何反应。谁能看到我的错误吗?


你也可以只使用finish()当按下后退按钮时:

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

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

  • 如何为 Android 创建我们自己的 PDF 查看器?

    我想构建一个可在我的 Android 应用程序中使用的 PDF 阅读器 查看器 但我无法使用 Google 文档来阅读我的内容 我无法使用我的设备中已安装的任何 PDF 阅读器 它应该位于我的应用程序内 并且不会通过互联网公开我的安全内容
  • 处理 SavedInstances 并恢复活动

    基本上我的应用程序有 2 个活动 说 A 和 B A 启动 B Activity B 播放音乐并且还有通知 情况 1 当视图仍在活动 B 上时 我按主页按钮 然后单击通知 活动 B 将打开 其视图完好无损并播放音乐 因为在清单中我使用 an
  • 单击另一个项目/小部件时展开/打开微调器?

    当用户单击另一个按钮时 我试图展开微调器 例如 我有一个带有值的微调器和一个 确定 按钮 当用户单击 确定 按钮而不从微调器中选择任何值时 微调器会自行扩展 是否可以在无需用户与微调器交互的情况下获得扩展微调器的事件 只需致电Spinner
  • 具有自定义厚度的虚线分隔符

    我有一个虚线分隔符
  • Android 软键盘 - 禁用某些键

    我正在寻找一种使用内置软键盘并禁用某些键的方法 例如 如果用户不应该使用字母 f 因为在列表中该字母不存在 则该键应显示为灰色 想象一下 用户可以在文本框中键入文本以从列表中进行选择 该列表包含 ABC BCCD 床 如果用户输入 A 然后
  • adb 今天无法连接到 VirtualBox 中的 Android-x86

    我在 VirtualBox 中成功安装了 Android x86 v3 2 eeepc 一段时间 这是帮助我在 Android 上调试 USB 主机应用程序的好方法 此类配置的安装是 安装VirtualBox 将 Android x86 v
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • NDK8d 未找到 std::string 操作(即 stol、stoi)

    我尝试使用 ndk r8d 和 c 11 支持来建立我的第一个 android 项目 一些 c 11 机制工作正常 即 lambda 表达式 但是当我尝试时 使用新的字符串操作之一 编译失败 错误 stol 不是 std 的成员 这是我的
  • 改造将多个图像上传到单个密钥

    我正在使用 Retrofit 将图像上传到我的服务器 这里我需要为一个密钥上传多个图像 我已经尝试使用 Postman 网络客户端 它运行良好 这是一个屏幕截图 以下是请求的键值对 调查图像 文件1 文件2 文件3 属性图像 文件DRA j
  • 返回到上一个活动的最后状态

    我有两个活动 A 和 B 当应用程序启动时 活动 A 会被加载 我会从数据库将数据加载到其中 我可以毫无问题地转到活动 B 但是当我返回活动 A 时 会查看旧数据一段时间 然后重新加载活动 知道如何解决这个问题吗 在从数据库加载数据之前清除
  • Ionic 框架 - Config.xml

    我需要修改 config xml 文件 因此在针对 Android 进行编译时我会获取以下权限
  • FileObserver 不适用于 Android 6.0 Marshmallow (API 23) 中的外部存储

    我有一个应用程序可以观察外部存储上的公共目录FileObserver 它运行良好Lollipop设备 我想添加对Marshmallow 所以我用它设置了一台 Nexus 9 平板电脑 在 Marshmallow 设备上 它失败 在 Loll
  • 作为 ViewPager 的一部分更新 ListFragment 中的数据

    我在 Android 中使用 v4 兼容性 ViewPager 我的 FragmentActivity 有一堆数据 这些数据将以不同的方式显示在我的 ViewPager 的不同页面上 到目前为止 我只有同一个 ListFragment 的
  • eglCodecCommon:setVertexArrayObject:设置vao调试消息

    我的 Android Emulator API 28 logcat 被这样的消息搞得晕头转向 D eglCodecCommon setVertexArrayObject set vao to 1 1 0 0 D eglCodecCommon
  • 当类明显存在时,我收到 java.lang.NoClassDefFoundError

    当我尝试在运行时使用该库时 出现以下错误 java lang NoClassDefFoundError com google api client extensions android2 AndroidHttp 我已经将此库添加到我的项目中
  • Android 导航组件 - 从“任何地方”/基本片段导航?

    我正在开发一个应用程序 它有一个奇怪的花招 可以在设备旋转时打开特定的片段 在实现 android 的导航组件之前 所需要的只是对当前活动的引用 并且可以在特定时刻向用户显示的任何内容之上执行手动片段事务 但是在转移到导航组件之后 我发现很
  • 以编程方式创建 FloatingActionButton(无需 xml)

    我很欣赏 Android 的 FloatingActionButton fab 功能 并希望在我的项目中的许多不同地方使用它们 现在 我有这样的东西 我有几个 xml 规范 除了 id 图标和 onclick 之外 所有这些规范都是相同的
  • Android 中的 ODEX 文件是什么?

    经过一些android安装了应用程序 我发现它会变成odex文件 不是apk 在智 能手机中 这是怎么发生的 谁能教教我 我对此很感兴趣 博客文章 https stackoverflow com a 9593590 194894大部分是正确
  • Android:是否可以在可绘制选择器中使用字符串/枚举?

    问题 Q1 有人设法让自定义字符串 枚举属性在 xml 选择器中工作吗 我通过以下 1 获得了一个布尔属性 但不是字符串属性 编辑 感谢您的回答 目前 android 仅支持布尔选择器 原因请参阅已接受的答案 我计划实现一个复杂的自定义按钮
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐

  • 快速找到另一张大图像中的较小图像

    不管怎样 让这件事进展得更快 因为现在源图像大小为 1024x768 模板大小为 50x50 大约需要 6 秒 这是使用AForge 如果有人知道其他更快且更简单的方法 请提交 我想做的任务是在屏幕截图中找到较小的图像 最好快一点 我的限制
  • 赋值的左侧必须是变量、属性或索引器

    我收到错误 但不知道为什么 static void decoupeTableau IEnumerable
  • Java JApplet 到 JFrame

    我想将 JApplet 转换为 JFrame 我在互联网上找到了这个代码 它是一个单词搜索游戏 我想在课程演示中使用此代码 但我不想把它放在小程序中 我要粘贴到此处的代码大约有 7 000 个字符 我尝试采用 JApplet 并扩展 JFr
  • Julia 中的逻辑索引

    在 MATLAB 中 要删除矩阵中具有 NaN 值的所有行 我编写了以下代码 myMatrix any isnan myMatrix 2 Where any isnan myMatrix 2 返回逻辑向量 我有办法在朱莉娅做到这一点吗 我似
  • Android Studio 任务“:app:preDexDebug”执行失败[重复]

    这个问题在这里已经有答案了 我的构建应用程序正在发生这种奇怪的行为 奇怪的是 这个com nineoldandroids是一个来自android资源库的jar 我尝试删除构建源并再次重新编译 但没有成功 我的构建等级 buildscript
  • 如何修复 int.Parse 中的 ArgumentNullException?

    这是在 Mono 中运行良好的 cs 文件 using System public class HelloWorld static public void Main Console WriteLine Enter a number int
  • 函数“sleep()”的正确 #include 是什么?

    我正在使用 Big Nerd Ranch 的书 Objective C 编程 它首先让我们在前几章中用 C 编写 在我创建的一个程序中 我使用了睡眠功能 书上告诉我要放 include
  • SockJs - 未找到“信息”路径

    我正在运行一个SockJS 的示例 运行 npm install 一切正常 Start server没有问题 当我第一次加载时测试页 我看到 404 调用失败http 127 0 0 1 echo info 我正在查看 sockjs 代码
  • 如何调用Android联系人列表?

    我正在制作一个 Android 应用程序 需要调用手机的联系人列表 我需要调用联系人列表功能 选择一个联系人 然后返回我的应用程序并显示该联系人的姓名 这是我在互联网上获得的代码 但它不起作用 import android app List
  • Windows Phone 8.1 中的 AutoSuggestBox 出现奇怪的结果

    我正在尝试使用标准AutoSuggestBox在 Windows Phone 8 1 XAML 应用程序中 但它的行为非常奇怪 在一个简单的演示中 我收集了 Items new ObservableCollection
  • Android - 加快在数据库中插入数据的速度

    我目前有一个 CSV 文件 我正在解析该文件 并尝试将数据插入到 android 数据库中 我遇到的问题是插入所有数据花费的时间太长 数据量很大 但我觉得不需要 20 分钟左右就能完成 基本上 我创建数据库 然后开始解析 在解析每个单独的
  • CameraSource .setAutoFocusEnabled(true) 返回:尽管设备支持自动对焦,但该设备不支持相机自动对焦

    下面是我的条形码扫描仪活动 除了 setAutoFocusEnabled true 之外 一切正常 它在运行时返回一条消息 显示我的设备不支持自动对焦 尽管 Samsung Tab E T561 是支持自动对焦的设备 import andr
  • 如何使用 R 和 ggplot 绘制逻辑回归模型的结果

    creat a new data frame and add a binary column called surv24 leukemia data lt data frame wbc leuk wbc ag leuk ag time le
  • 减小 pdf 大小 - Objective c

    我有一个pdf生成项目 它由一些文本和一个已存储在数据库中的图像组成 我想预览并邮寄生成的pdf 当只有文本数据时一切正常 如果我们的数据中有图像 就会出现问题 邮件收到 大小为 10MB 或以上的 pdf 即使它具有大小为 1MB 或以下
  • List RemoveAll() 没有删除项目

    我有一个看起来像这样的对象 Text Another lovely alert Category 2 UserAlerts UserId 2 这将传递到 Web API 并正确绑定到 Key Column Order 0 public lo
  • SwiftUI @FetchRequest 使应用程序崩溃并返回错误

    我正在尝试使用 Xcode 11 在 SwiftUI 的 mac 应用程序中使用核心数据 我在创建项目时勾选了 使用核心数据 我还创建了实体 称为 VisitedCases 并使用编辑器创建 NSManagedObject 子类文件 我还将
  • F#:从另一个列表中过滤一个列表中找到的项目

    假设我有两个列表 let a 1 1000 let b 250 500 如何获取包含值 1 249 501 1000 的新列表 由于您的列表已排序 因此您可以使用此 非尾递归 函数在线性时间内解决此问题 let rec except a b
  • Specs2 - 标记要运行的测试

    我已经使用 ScalaTest 一段时间了 我发现标记测试并从命令行仅运行具有特定标记的测试的功能非常有用 Specs2中有类似的东西吗 我知道您可以使用 testOnly 运行特定的测试类 但我只想使用规范中的特定标签运行测试 操作方法如
  • 如何在 CSS 中使用 :not 选择器?

    我的问题说明了一切 我是 CSS 新手 我正在尝试使用以下代码 但它不起作用 ul verticalNav declaration ul verticalNav li declaration ul verticalNav li a decl
  • AppCompat PreferenceActivity 向上按钮不起作用

    我正在尝试创建一个扩展 AppCompatPreferenceActivity 并在操作栏中实现向上按钮的活动 视觉上一切看起来都很好 但向上按钮不响应触摸事件 以下是我的java和xml代码 PrefrencesDisplayActivi