无法导入“ GestureDetectorCompat”类

时间:2019-04-04 02:14:31

标签: java android android-appcompat

我正在尝试将GestureDetectorCompat.class导入Android Studio,但是不起作用。

我尝试在活动的类定义上方添加import androidx.core.view.GestureDetectorCompat;import android.support.v4.view.GestureDetectorCompat;,但显示为Cannot resolve symbol 'GestureDetectorCompat'错误。

将鼠标悬停在代码中的GestureDetectorCompat上,我可以看到将库添加到类路径的选项,但是单击它不会执行任何操作,仍然无法解析该符号。

我试图将其添加到ExoPlayer演示应用程序PlayerActivity类中。

private void initGesture()
{
    GestureDetectorCompat mDetector = new GestureDetectorCompat(this, this);
}

build.gradle(模块:应用)

// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
apply from: '../../constants.gradle'
apply plugin: 'com.android.application'

android {
    compileSdkVersion project.ext.compileSdkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        versionName project.ext.releaseVersion
        versionCode project.ext.releaseVersionCode
        minSdkVersion 16
        targetSdkVersion project.ext.targetSdkVersion
    }

    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles = [
                "proguard-rules.txt",
                getDefaultProguardFile('proguard-android.txt')
            ]
        }
        debug {
            jniDebuggable = true
        }
    }

    lintOptions {
        // The demo app does not have translations.
        disable 'MissingTranslation'
    }

    flavorDimensions "extensions"

    productFlavors {
        noExtensions {
            dimension "extensions"
        }
        withExtensions {
            dimension "extensions"
        }
    }
}

dependencies {
    implementation 'com.android.support:support-annotations:' + supportLibraryVersion
    implementation project(modulePrefix + 'library-core')
    implementation project(modulePrefix + 'library-dash')
    implementation project(modulePrefix + 'library-hls')
    implementation project(modulePrefix + 'library-smoothstreaming')
    implementation project(modulePrefix + 'library-ui')
    withExtensionsImplementation project(path: modulePrefix + 'extension-ffmpeg')
    withExtensionsImplementation project(path: modulePrefix + 'extension-flac')
    withExtensionsImplementation project(path: modulePrefix + 'extension-ima')
    withExtensionsImplementation project(path: modulePrefix + 'extension-opus')
    withExtensionsImplementation project(path: modulePrefix + 'extension-vp9')
    withExtensionsImplementation project(path: modulePrefix + 'extension-rtmp')
}

apply plugin: 'com.google.android.gms.strict-version-matcher-plugin'

我希望可以添加该类并使其正常工作,但是遇到了以上问题。

3 个答案:

答案 0 :(得分:1)

我为有此问题的任何人添加以下答案:(上一个不适用于我)

我不得不替换以下导入

\'"

与此:

import android.support.v4.view.GestureDetectorCompat;

使用它。

我认为原因是'android.support.v4'中的某些子包已被弃用,我们应该从'androidx'中使用它们

Source

答案 1 :(得分:0)

解决方案GestureDetectorCompat属于com.android.support:support-compat依赖项。您必须将其添加到gradle文件的依赖项中。

dependencies {
    // Your dependencies here.
    // ...

    // Add this line.
    implementation 'com.android.support:support-compat:28.0.0'
}

然后在代码中使用。

import android.support.v4.view.GestureDetectorCompat;

private void initGesture() {
    GestureDetectorCompat mDetector = new GestureDetectorCompat(this, this);
}

答案 2 :(得分:0)

新版本的Android v4软件包已从其中删除了视图。因此,在上面的代码行中使用GestureDetactorCompat