androidStudio

时间:2019-08-18 15:33:04

标签: android android-support-library android-appcompat androidx appcompatactivity

我只是开始使用androidStudio开发android 我正在遵循udacity教程,他们要求我们复制粘贴一些代码并运行它 粘贴后我无法操作鳕鱼 我认为主要问题是在导入

import android.support.v7.app.AppCompatActivity;

我已经检查了互联网以解决此问题,包括stackoverflow 但似乎每种情况都不同 我试图进口 import androidx.appcompat.app.AppcompatActivity; 代替 import android.support.v7.app.AppCompatActivity; 但它没有晕倒 我正在使用androidStudio 3.4版

主要活动:

package com.example.android.justjava;

/**
 * IMPORTANT: Make sure you are using the correct package name.
 * This example uses the package name:
 * package com.example.android.justjava
 * If you get an error when copying this code into Android studio, update it to match teh package name found
 * in the project's AndroidManifest.xml file.
 **/


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

/**
 * This app displays an order form to order coffee.
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * This method is called when the order button is clicked.
     */
    public void submitOrder(View view) {
        display(1);
    }

    /**
     * This method displays the given quantity value on the screen.
     */
    private void display(int number) {
        TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
        quantityTextView.setText("" + number);
    }
}

module.App(构建gradle):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.1"
    defaultConfig {
        applicationId "com.example.android.justjava"
        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(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'
}

error: cannot find symbol class AppcompatActivity   
error: cannot find symbol class AppCompatActivity   
error: method does not override or implement a method from a supertype  
error: cannot find symbol variable super    
error: cannot find symbol method setContentView(int)    
error: cannot find symbol method findViewById(int)

4 个答案:

答案 0 :(得分:2)

您正在使用androidx库。

 implementation 'androidx.appcompat:appcompat:1.0.2'

然后,您无法使用导入支持库类。

它是right class

import androidx.appcompat.app.AppCompatActivity;

答案 1 :(得分:0)

请注意,您的App C ompat导入中缺少大写字母:

import 'androidx.appcompat.app.AppcompatActivity'

代替App C ompatActivity

Java / Android区分大小写。 android.support.v7已过时,AndroidX正在取代它

答案 2 :(得分:0)

自androidx库于2019年6月某个地方以来,情况已发生变化。要解决此简单问题,请确保执行以下操作;

  1. 转到gradle.properties文件并启用androidx,如下面的示例图片所示 step1

  2. 现在转到Android Studio的顶部菜单,单击重构,然后单击“迁移到androidx”

  3. Android studio会自动对gradle中的androidx进行所有导入语法更正

答案 3 :(得分:0)

更新构建gradle,然后从更改导入行

import android.support.v7.app.AppCompatActivity;

import androidx.appcompat.app.AppCompatActivity; 

并从AndroidManifest.xml检查您的包名称