我无法在 androidx.appcompat:appcompat:1.1.0 上使用 API 反射

2024-03-13

我的 androidx.appcompat:appcompat:1.1.0 有问题。这是一个新问题,因为在 androidx.appcompat:appcompat:1.0.2 上它不存在。

我有一个代码,使用反射从微调器获取 mPopup 字段并设置其高度。它在 appcompat:1.0.2 上运行良好,但在 androidx.appcomppat:appcompat:1.1.0 上运行不佳。

代码是

 private void setPopUp() {

        try {
            Field popup = getPopupField();

            // Get private mPopup member variable and try cast to ListPopupWindow
            final android.widget.ListPopupWindow popupWindow = (android.widget.ListPopupWindow) popup.get(spinner);

            // Set popupWindow height to max - 40dp
            spinner.post(new Runnable() {
                @Override
                public void run() {
                    Rect r = new Rect();
                    spinner.getGlobalVisibleRect(r);
                    int height = 200;
                    popupWindow.setHeight(height);
                }
            });
        } catch (NoClassDefFoundError | ClassCastException | IllegalAccessException e) {
            // silently fail...
        }


    }

    private static Field getPopupField () {
        if (sPopupField == null) {
            try {
                Field popup = Spinner.class.getDeclaredField("mPopup");
                popup.setAccessible(true);

                sPopupField = popup;
            } catch (NoClassDefFoundError | ClassCastException | NoSuchFieldException e) {
                // silently fail...
            }
        }
        return sPopupField;
    }

我从 appcompat:1.1.0 中了解到有关新 appcompatActivity 的错误。但是,我找不到解决我的问题的方法。


大家。

我能够做到。

首先,我用 java 代码将旋转器放在活动上。 “以编程方式”。

     public void initTest(){
    spinner2 = new Spinner(this, Spinner.MODE_DROPDOWN);
    spinner2.setAdapter(new ArrayAdapter(this, R.layout.spinner_item, datos));
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        spinner2.setId(spinner2.generateViewId());
    }

    ConstraintLayout parentLayout = (ConstraintLayout)findViewById(R.id.main_activity);
    parentLayout.addView(spinner2, 0);

    ConstraintSet cs = new ConstraintSet();
    cs.clone(parentLayout);
    cs.setHorizontalBias(spinner2.getId(), 0.473F);
    cs.setVerticalBias(spinner2.getId(), 0.484F);
    cs.connect(spinner2.getId(), ConstraintSet.BOTTOM, parentLayout.getId(),ConstraintSet.BOTTOM);
    cs.connect(spinner2.getId(), ConstraintSet.START, parentLayout.getId(),ConstraintSet.START);
    cs.connect(spinner2.getId(), ConstraintSet.TOP, parentLayout.getId(),ConstraintSet.TOP);
    cs.connect(spinner2.getId(), ConstraintSet.END, parentLayout.getId(),ConstraintSet.END);
    // cs view id, else getId() returns -1

    // connect start and end point of views, in this case top of child to top of parent.
    // ... similarly add other constraints
    cs.applyTo(parentLayout);

}  

然后我调用问题开头的代码。

我希望它对很多人有用,并跳过新版本的这个错误。

Regards.

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

我无法在 androidx.appcompat:appcompat:1.1.0 上使用 API 反射 的相关文章

  • 关闭 Android 中的飞行模式

    如果 num gt 50 我想关闭飞行模式 我实现了这段代码 来自在 Android 中切换飞行模式 https stackoverflow com questions 5533881 toggle airplane mode in and
  • Android KeyBoard.Key 禁用图标 预览特殊键?

    我通过实现 KeyboardView OnKeyboardActionListener 接口来自定义自己的软键盘 按下按键时 将显示预览弹出窗口 我的问题是如何禁用 SHIFT 和 DELETE 等特殊键的预览弹出窗口 我尝试将 andro
  • 如何检测和管理来电(Android)?

    我想创建一个应用程序 可以检测来电并在一定数量的蜂鸣声 响铃 后启动我的自定义活动 我的意思是在 2 或 3 或 5 声蜂鸣声 响铃 后我的activity被触发 我该怎么做 Thanks 我认为您无法计算自来电开始以来电话响了多少次 无法
  • 检索子值 -firebase-

    System out println ref child email protected cdn cgi l email protection child email 我正在尝试获取 child 的值 但我始终获取该值的 URL 当我尝试使
  • 为什么我将可绘制文件重命名为 .9.png 后出现“Some file crunching failed”?

    我正在测试 9 patch 图像 在一切正常之前 我重命名drawable file ic button beat box default png to ic button beat box default 9 png 然后我收到错误 某些
  • 如何将 EditText 传递给另一个活动?

    Intent intent new Intent this Name class intent putExtra key et getText toString startActivity intent Intent intent getI
  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • 按钮未显示在屏幕上

    我创建了一个应用程序 其中显示带有图像和文本的列表视图 我在页面末尾添加按钮 但这没有显示在屏幕上 我是 Android 新手 我该如何解决这个问题 这是我的 UI XML 代码
  • 为什么按钮上的 maxWidth 不起作用以及如何解决它?

    我的布局上有两个按钮 在大屏幕设备 平板电脑 上我想限制它们的宽度 这样它们看起来就不会很荒谬 我希望使用 maxWidth 属性 但它显然在我的场景中没有任何作用 这是布局定义 按钮使用布局的整个宽度 忽略 maxWidth 中的任何值
  • 获取可以共享数据的应用程序列表

    此代码显示默认共享对话框 Intent sharingIntent new Intent Intent ACTION SEND sharingIntent setType text html sharingIntent putExtra a
  • Google 移动广告和 Kindle Fire

    我最近用 Google 移动广告替换了 AdMob 库 对此我有一个疑问 广告会出现在 Amazon Kindle Fire 设备上吗 我问这个是因为我知道 Google 移动广告依赖于 Google Play 服务 所以我有点困惑 Goo
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • 通过列表视图检查动态生成的复选框时遇到问题

    我知道其他成员已经提出了这个问题 一些成员也给出了解决方案 但问题是我没有找到任何适合我的应用程序的解决方案 我正在创建一个应用程序 其中我有一个屏幕 它将显示动态列表视图 其中包含列表项 复选框和三个文本视图 一个用于候选人姓名 另外两个
  • Ionic Facebook Api 无效密钥哈希

    我无法让我的应用程序允许 Facebook 登录 每次用户尝试登录 Facebook 并使用他们的 FB 验证我的应用程序时 都会出现以下错误 无效的密钥哈希 它们的密钥哈希 xxxxxxxxxx 与任何存储的密钥哈希不匹配 配置您的应用程
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • Android:打开和关闭SQLite数据库

    我正在开发Android应用程序 我经常在其中访问本地数据库 该数据库可以从不同的主题访问 因此我遇到了数据库的协调问题 我使用以下open and close method public void open mDb mDbHelper g
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • 如何获取android手机型号、版本、sdk详细信息?

    如何获取android手机型号 版本 sdk详细信息 首先 看看 android sdk 页面上的这些 Build 类 http developer android com reference android os Build html h
  • 检测 ListView(或 ScrollView)内的滚动位置

    我正在构建一个聊天室应用程序 其中每 X 秒就会轮询一次新事件 每次发生这种情况时 此代码都会使用新数据更新 RoomAdapter ArrayAdapter 的自定义子类 并将其滚动到底部 RoomAdapter adapter Room
  • Android 中的 Google Places API - 适用于个人用户的 API_KEY

    我已经浏览了与在 Android 应用程序中使用 Places API 相关的 Android 文档和其他博客 到处都建议使用 API KEY 来调用 REST 服务 API KEY 在整个项目 应用程序中都是相同的 每天的请求数限制为 1

随机推荐

  • Internet Explorer 11 与 Asp.Net 4.0 的会话问题

    我遇到一个奇怪的问题 我在 asp net 4 0 中开发了一个网站 它在所有浏览器上都能正常工作 因为我也在处理会话 因此用户必须登录才能使用该网站 在 Internet Explorer 11 上 当您访问网站 url 时 它会在 ur
  • 快速for循环与睡眠

    我有一个 Swift 4 ios 应用程序 按下按钮时会显示随机消息和照片 这工作正常 但我想创建一个无限循环来在按下按钮时显示随机消息 照片 我尝试了多种方法来实现这一目标 但没有一个有效 在主线程完成之前 标签和图像视图似乎不会更新 下
  • 让 ScrollView 与自动布局和情节提要一起使用

    我正在尝试为我想要构建的应用程序制作一个非常简单的布局 但我似乎正在努力使用 ScrollView 并通过 Storyboard 让它工作 基本上我正在尝试构建以下内容 我已经使用几个教程完成了约束 但它要么不滚动 要么看起来错误 有什么建
  • 与 React 内联自定义 `::-webkit-scrollbar`

    我怎样才能申请 webkit scrollbar在 React 中使用内联样式将伪元素添加到组件 你不能写pseudo内联选择器 需要在css中添加 参考这个link https developer mozilla org en US do
  • 关闭时 SqlDependency 订阅不会从 dm_qn_subscriptions 中删除

    My SQL依赖关系工作正常 当应用程序退出时 代理队列和服务会正确删除 我确实执行SqlDependency Stop 按照终止进程之前的建议 但我注意到由SQL依赖关系应用程序关闭后 仍保留在表 sys dm qn subscripti
  • watir-webdriver 黑色屏幕截图

    我正在使用 watir webdriver 浏览我的网站并在不同的浏览器中抓取屏幕截图 有时 在 IE 中截取的屏幕截图尺寸正确 但颜色全黑 同时运行的 Firefox 测试看起来不错 browser driver save screens
  • Javascript window.open 不工作

    好的 我正在尝试登录推特 这段代码中没有打开窗口 收到警报的响应不为空 并且是指向登录屏幕的链接 有任何想法吗 var url twitter login php var con createPHPRequest con open POST
  • 参数和列表哪个更好

    我当前的代码如下 它是作为代理暴露给客户端的WCF服务方法 public UnifiedDTO GetAllCardTitle string trainSymbolOrCarLocation DateTime startDate DateT
  • 为什么应用程序安装了两次?

    当我运行 Android App Studio 时 单元格是应用程序 安装 两次 有两个应用程序 一个称为 SplashScreenActivity 另一个称为 Doctor Quiz 我的应用程序 两者是平等的 如果我卸载一个 另一个也会
  • 在 django 1.7 中包含静态 js 文件

    这是一部分settings py STATIC URL static STATICFILES DIRS os path join BASE DIR static HTML 模板 load staticfiles vendor jquery
  • 哪种洪水填充算法性能更好?

    我正在尝试实现一种与洪水填充类似的算法 问题是我不确定应该以什么方式实现它 例如递归 非递归 我知道每一种都有其缺陷 但其中一种必须比另一种更快 当非递归每次分配 4 个新点时 递归会在堆栈上打开新函数 非迭代的示例 Stack
  • 我应该在新项目中使用“请求”模块吗?

    The 请求 模块 https github com request request长期以来一直是 Node js 的标准 他们最近已弃用 https github com request request issues 3142图书馆 我正
  • XAMPP - Apache 未在 Mac OS 上启动

    https www apachefriends org download html https www apachefriends org download html 以前我使用的是xampp osx 7 1 10 0 installer
  • Android ValueAnimator 在重复期间暂停

    因此 我使用 ValueAnimator 将火柴人的四肢以无限循环的方式从一个位置移动到另一个位置 或者至少直到动画停止 我的问题是 当动画师重复时 我会稍微停顿 就好像动画滞后一样 但只有当动画重复时才会发生这种情况 我还有其他动画只发生
  • 将 csv 文件中的数据放入数组中(Javascript)

    我需要能够从 CSV 文件中获取数据 该文件已由用户通过
  • 如何在 Android DatePicker 中设置自定义月份名称?

    如何在 Android DatePicker 中设置自定义月份名称 例如 new String 一月 二月 您可以创建一个自定义DatePicker像这样扩展系统类 DatePicker class MyCustomDatePicker e
  • 找不到 AsyncPostBackTrigger 的 ControlID

  • Kivy TextInput 位于 Android 键盘上方,但屏幕的其余部分保持原样

    我正在 Kivy 中构建一个问答游戏 它在屏幕底部为用户提供了一个 TextInput 选项 它位于底部 因为答案的线索显示在顶部 我遇到的问题是 当我将应用程序部署到手机上时 Android 屏幕键盘会弹出并挡住我近一半的屏幕 我尝试过s
  • 通过 shell 脚本更改文件内容

    我有一个要求 我需要更改文件的内容 例如 xyz cfg 该文件包含如下值 group address 127 8 8 8 port 7845 Jboss username xyz ITR3 我想在需要时通过 shell 脚本更改此内容并保
  • 我无法在 androidx.appcompat:appcompat:1.1.0 上使用 API 反射

    我的 androidx appcompat appcompat 1 1 0 有问题 这是一个新问题 因为在 androidx appcompat appcompat 1 0 2 上它不存在 我有一个代码 使用反射从微调器获取 mPopup