2
votes

Impossible d'importer la classe "GestureDetectorCompat"

J'essaie d'importer GestureDetectorCompat.class dans Android Studio mais ne fonctionne pas.

J'ai essayé d'ajouter import androidx.core.view.GestureDetectorCompat; et import android.support.v4.view.GestureDetectorCompat; au-dessus de la définition de classe de mon activité mais il affiche l'erreur Impossible de résoudre le symbole «GestureDetectorCompat» .

Souris de souris sur GestureDetectorCompat dans le code, j'obtiens des options pour ajouter une bibliothèque au chemin de classe, mais cliquer dessus ne fait rien et ne peut toujours pas résoudre le symbole.

J'essayais de l'ajouter à ExoPlayer Classe PlayerActivity de l'application de démonstration.

// 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'

build.gradle (Module: app)

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

Je m'attendais à ce que la classe soit ajoutée et fonctionne normalement mais vient juste au-dessus des problèmes.


3 commentaires

Veuillez ajouter votre fichier gradle.


@Tommy quel fichier gradle?


Celui du module: app


3 Réponses :



2
votes

J'ajoute la réponse suivante pour tous ceux qui ont ce problème: (La précédente n'a pas fonctionné pour moi)

J'ai dû remplacer l'importation suivante

import android.support.v4.view.GestureDetectorCompat;

avec ceci:

import androidx.core.view.GestureDetectorCompat;

pour l'utiliser.

Je pense que la raison est que certains sous-packages de 'android.support.v4' sont obsolètes et que nous devrions les utiliser à partir de 'androidx'

Source


0 commentaires

0
votes

Avec la nouvelle version du package Android v4 a supprimé la vue de celui-ci. Donc, pour utiliser GestureDetactorCompat avec la ligne de code ci-dessus.


0 commentaires