当前位置: 首页 > 知识库问答 >
问题:

为什么Android Studio lint无法识别我的minSdkVersion

申屠健
2023-03-14

Android Studio(版本4.1.1)在我的xml布局文件中为使用onClick的视图显示警告(警告id: UsingOnClickInXml,平台的旧版本不正确支持解析Android:onClick)。当我运行代码检查器时,这些也会显示在lint警告中。Android Studio似乎没有使用我在build.gradle (app)文件中设置的minSdkVerion (16)。

    <Button
        android:id="@+id/btn_Splash_PrivacyPolicy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick" //This gets highlighted with the warning
        android:text="@string/dialog_button_privacyPolicy"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        />

以下是我的build.gradle(应用程序)文件的摘录:

android {
    compileSdkVersion 30
    buildToolsVersion '30.0.3'
    defaultConfig {
        ...
        minSdkVersion 16
        targetSdkVersion 30
        ...
        }
    ...
}

这似乎保留在我合并的AndroidManifest中。xml(我没有直接在清单中设置minSdkVerion,只是在build.gradle文件中)。摘自合并的AndroidManifest.xml

<manifest
  ...
  <uses-sdk
    android.minSdkVersion="16"
    android.targetSdkVersion="30" />
  ...

我如何在关联的活动中使用onClick的示例:

    public void onClick(View view){
        if (view.getId() == R.id.btn_SplashOK) {
            if (mCheckBox_SplashDontShowAgain.isChecked()) {
                sendIntentInfoBack(Constants.DONT_SHOW_AGAIN);
            } else {
                sendIntentInfoBack(Constants.DO_SHOW_AGAIN);
            }
        } else if (view.getId() == R.id.btn_Splash_PrivacyPolicy){
            Toolset.showPrivacyPolicyDialog(getSupportFragmentManager());
        }
    }

应用程序似乎运行正常,但我担心AS/lint无法识别我设置的minSdkVersion。

  1. 建造-

Android Studio不拾取minSdkVersion-不适用;我已在正确的文件中设置了值。

Android Lint错误地认为min SDK版本为1-不适用?根据答案,我无法在AS中找到“Clear Lint Markers”;过时了?(2012年的答案)

  1. 这是个问题吗/我应该担心吗?
  2. 有没有办法修复AS/lint以准确使用我设置的minSdkVersion?

共有1个答案

锺离伟彦
2023-03-14

版本androidx . app compat:app compat:1 . 3 . 0出现消息“在旧版本平台上使用' android:onClick '已损坏”

 类似资料:
  • 问题指出: 创建一个具有长度和宽度双属性的矩形类。默认构造函数应该将这些属性设置为1。提供计算矩形周长和面积的方法,以及两个数据字段的访问器和赋值器。length和width的mutator方法应该验证传入的数字是否大于0.0且小于20.0——如果不符合这些标准,就不应该更改字段的值。 在同一文件中编写一个驱动程序类来测试您的矩形类。它应该提示用户输入矩形的长度和宽度,然后打印出矩形的面积和周长。

  • 问题内容: 我正在尝试在hadoop 2.2.0上运行我的PDFWordCount映射减少程序,但出现此错误: 它说我的地图类未知。我在3个VM上有一个带有namenod和2个datanodes的集群。 我的主要功能是: 如果我使用以下命令运行jar: 正如我在上面看到的那样,它作为输出路径并给我错误,而我的主要功能却在运行。 我已经运行了一个简单的WordCount项目,该项目的主要功能与该主要

  • 我有以下JSON: 我正试图用杰克逊把它转换成pojo。这就是我所拥有的: 我的另一个类有字段,这些字段被命名为JSON中的元素,并具有getter和setter。 上面的代码可以工作,但是当我只是创建一个没有配置的基本ObjectMapper对象时,它不起作用。这是为什么?这是堆栈跟踪错误: 这是我的pojo类,包含getter和setter:

  • 我已经检查并删除了查询的各个部分,试图隔离它来自哪里。经过几个小时和削减每一栏,它仍然在发生。 有人知道雪花诊断查询(像Redshift有)可以告诉我问题发生的特定列吗?

  • 问题内容: URL u =新URL(“ telnet://route-server.exodus.net”); 这行正在生成: java.net.MalformedURLException:未知协议:telnet 而且我遇到其他以“ news://”开头的URL的类似问题 这些是从ODP提取的URL,所以我不明白为什么会出现此类异常。 问题答案: 问题 Java 之所以抛出a,是因为它找不到该协议

  • 我有以下代码,没有编译: 其中返回。 它不识别< code>asScala方法。将导入< code > Scala . JDK . future converters . _ 库。我做错了什么?