4

这是我第一次使用 android studio,我得到了错误

“无法解析符号 AppCompatActivity”和其他符号错误。

在此处输入图像描述

我该如何解决?我试过向 gradle 添加东西,但没有任何效果。还尝试过“使缓存无效/重新启动”,但它也没有奏效。

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.buttonCall);

        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:1566"));

                if (ActivityCompat.checkSelfPermission(MainActivity.this,
                        Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                    return;
                }
                startActivity(callIntent);
            }
        });


    }
}

这是gradle文件中的依赖项

dependencies {
    compile 'com.android.support:appcompat-v7'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    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'
}
4

5 回答 5

1

最近我遇到了类似的问题 - “无法解析符号 AppCompatActivity”,虽然我正在使用

import androidx.appcompat.app.AppCompatActivity

当然,我很久以前就迁移到了 androidx。当我尝试在运行 Android 10 的真实设备上调试我的应用程序时发生这种情况。尝试了很多方法:删除 .gradle 和 .idea 文件夹、使缓存无效等。

唯一有帮助的是从 4.​​0.1 转移到 Android Studio 4.2 Canary 12。虽然话题老了,但我想支持最近遇到这个错误的人。

于 2020-09-25T09:22:14.840 回答
1

当您使用AndroidX依赖项时

androidx.appcompat:appcompat:1.0.2

MainActivity你导入

import android.support.v7.app.AppCompatActivity;

删除它并导入androidx AppCompatActivity然后错误解决。

额外的

另外,请添加com.google.android.material:material:1.0.0build.gradle

于 2019-07-26T11:10:45.180 回答
0

您正在使用androidx然后您可以您的build.gradle

compile 'com.android.support:appcompat-v7'

更改类中的导入:

//Remove these
//import android.support.v7.app.AppCompatActivity;
//import android.support.v4.app.ActivityCompat;

//Add this
import androidx.appcompat.app.AppCompatActivity
于 2019-07-26T11:14:24.343 回答
0

从导入部分中删除这两行并尝试

import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
于 2019-07-26T11:09:12.817 回答
0

您不能同时支持 lib 包和 AndroidX 包。因此,如果您已将项目迁移到 android x,您将只需要使用该库。

于 2019-07-26T11:09:53.027 回答