Java 无法解析符号';ActivityCompat';和';内容';
我是android新手,正在学习如何实现基于位置的服务,我遇到了以下错误- 无法解析符号“ActivityCompat” 在“导入android.support.v4.app.ActivityCompat;”行中 无法解析符号“内容” 在“import android.support.v4.content.ContextCompat;”行中 在做了一些研究之后,我发现您需要将以下内容添加到gradle.build文件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
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;