Search code examples
error-handlingappcompatactivityandroid-appcompat

Trouble with AppcompatActivity - error: cannot find symbol class AppCompatActivity


Im using udacity to learn android development and I have ran into a problem. there are a few errors that have come up:

error: package android.v7.app does not exist    
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 class openNumbersList 
error: cannot find symbol method startActivity(Intent)  

Everything was working fine but I was following a tutorial and noticed that my imports in my Main Activity didn't match with what was on the tutorial so I changed:

import...

to

import android.v7.app.AppCompatActivity; 
import android.os.Bundle;

also even before this, AppCompatActivity was in red:

Main Activity:

package com.example.android.miwok;

import android.content.Intent;
import android.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Set the content of the activity to use the activity_main.xml layout file
        setContentView(R.layout.activity_main);
    }

    public void openNumbersList(View view){
        Intent i = new Intent(this, openNumbersList.class);
        startActivity(i);
    }
}

gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '27.0.3'

    defaultConfig {
        applicationId "com.example.android.miwok"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
            'proguard-rules.pro'
        }
    }
}


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:appcompat-v7:23.3.0'
    implementation 'com.android.support:support-v4:23.3.0'
    implementation 'com.android.support:design:23.3.0'

}

hope this helps.


Solution

  • I assume, that you forget to add the dependency to the appcompat support library. Add this to your build.gradle in the app folder:

    dependencies {
    ...
        // Add this line
        implementation 'artifact com.android.support:appcompat-v7:28.0.0-alpha1'
    }
    

    However, you should read other tutorials as well because you will proably face more issues, when you don't know how dependencies work in Android. If you create a fresh project in Android Studio, it will create a runnable app for you which is a good point to start off.

    EDIT

    I re-read your code and the import is incorrect. It must be

        android.support.v7.app.AppCompatActivity
    

    instead of

        android.v7.app.AppCompatActivity