Java 无法解析符号';ActivityCompat';和';内容';

Java 无法解析符号';ActivityCompat';和';内容';,java,android,android-support-library,android-appcompat,androidx,Java,Android,Android Support Library,Android Appcompat,Androidx,我是android新手,正在学习如何实现基于位置的服务,我遇到了以下错误- 无法解析符号“ActivityCompat” 在“导入android.support.v4.app.ActivityCompat;”行中 无法解析符号“内容” 在“import android.support.v4.content.ContextCompat;”行中 在做了一些研究之后,我发现您需要将以下内容添加到gradle.build文件compile'com.android.support:support-v4:2

我是android新手,正在学习如何实现基于位置的服务,我遇到了以下错误-

无法解析符号“ActivityCompat” 在“导入android.support.v4.app.ActivityCompat;”行中

无法解析符号“内容” 在“import android.support.v4.content.ContextCompat;”行中

在做了一些研究之后,我发现您需要将以下内容添加到gradle.build文件
compile'com.android.support:support-v4:23.0.0'

所以我这样做了,但我仍然得到同样的错误。我还是什么也没做

如何修复错误

这是我试图关注的链接

这是我的java文件-

package com.example.location;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.content.pm.PackageManager;

import android.Manifest;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.content.ContextCompat; # error
import android.support.v4.app.ActivityCompat;    #error
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;

// Remaining code
这是我的格拉德尔

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.example.location"
        minSdkVersion 15
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.android.support:support-compat:+'
    implementation 'com.android.support:appcompat-v7:+'

    implementation 'com.android.support:support-v4:26.1.0'
}
'''

您必须使用androidx类:

添加依赖项:

implementation "androidx.core:core-ktx:+"
并更改您的导入:

import android.support.v4.app.ActivityCompat -> import androidx.core.app.ActivityCompat
import android.support.v4.content.ContextCompat -> import androidx.core.content.ContextCompat
还要在
build.gradle
中删除支持库依赖项:

//implementation 'com.android.support:support-compat:+'
//implementation 'com.android.support:appcompat-v7:+'
//implementation 'com.android.support:support-v4:26.1.0'
去掉这个

import android.support.v4.content.ContextCompat; # error
import android.support.v4.app.ActivityCompat;    #error
由于您使用的是
androidx

import androidx.appcompat.app.AppCompatActivity;

或者在删除以上两行后,只需在
AppCompatActivity

上单击
alt+enter
,这对我这边的AndroidX

格雷德尔先生 }

定位活动
在androidx中,它不支持v4或其他版本,因此您需要导入“androidx”的软件包。请查看
https://developer.android.com/jetpack/androidx/migrate/class-mappings
android.support.v4.content
名称空间和相应的androidx类中查找类。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
package com.example.location;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;