5

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 (app) 文件的摘录:

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" />
  ...

我如何在关联的 Activity 中使用 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. 构建->清理项目
  2. 构建->重建项目
  3. 构建->制作项目
  4. 文件->使缓存无效/重新启动
  5. 将 minSdkVersion 更改为 17,同步,更改回 16,同步
  6. 重新运行分析->检查代码几次

我审查过:

Android Studio 没有选择 minSdkVersion - 不适用;我已经在正确的文件中设置了值。

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

我的问题:

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

1 回答 1

0

从版本 androidx.appcompat:appcompat:1.3.0 出现消息“在旧版本的平台上使用 'android:onClick' 已损坏”

于 2021-06-02T04:32:54.713 回答