webentwicklung-frage-antwort-db.com.de

Android Studio: Symbol MainActivity kann nicht aufgelöst werden

Ich habe die Fehlermeldung "Symbol MainActivity kann nicht aufgelöst werden" in diesem Code angezeigt.

<activity
        Android:name=".MainActivity"          //here
        Android:label="@string/app_name"
        Android:launchMode="singleTask" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN"/> 

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action Android:name="Android.intent.action.VIEW" />

            <category Android:name="Android.intent.category.DEFAULT" />
            <category Android:name="Android.intent.category.BROWSABLE" />

            <data
                Android:Host="MainActivity"
                Android:scheme="callback" />
        </intent-filter>
    </activity>

Es erübrigt sich zu erwähnen, dass MainActivity die Aktivität übernimmt und auch der Paketname korrekt ist.

Warum?

Vielen Dank

Hier ist ein Bild der Verzeichnisstruktur.

Snapshot of the directory structure

10
Yuya Okada

Es ist möglich, dass Ihr 'src'-Verzeichnis nicht als Quellverzeichnis festgelegt ist.

Ihre IDE scheint Ihre com.example.fovoapp als einfache Verzeichnisstruktur anstelle eines Pakets zu sehen. Das kleine "J" der Java-Dateien sagt mir auch, dass Sie auf Ihr verlinktes Bild schauen. Wenn eine Java-Datei als Quelle festgelegt ist, wird sie normalerweise als Klasse "C" angezeigt.

Ich könnte falsch sein, aber stellen Sie sicher, dass Sie Ihr Quellverzeichnis als Quelle festgelegt haben und das Problem behoben sein sollte.

19
Miguel Lavigne

paketname in der Datei AndroidManifest.xml und Ihre Klassen müssen identisch sein.

AndroidManifest.xml-Header:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android" package="com.ahmet.currencies">

Code:

package com.ahmet.currencies;

import ...;


public class MainActivity extends Activity {}
11
Ahmet Arslan

Möglicherweise verwenden Sie den falschen Pfad für das SRC-Verzeichnis.
.__ sollte im Pfad sein: ./yourApp/src/main und nicht ./yourApp/src/androidTest
Sie können es manuell verschieben.

2

projektstruktur klicken Sie mit der rechten Maustaste auf src-Ordner-> Verzeichnis markieren als-> Quellverzeichnis.

Nun können Sie Ihre mainactivity.Java-Datei mit dem Symbol 'j' zum Symbol 'c' ändern.

Der Fehler bestand darin, dass das Projekt keinen gültigen Quellordner hatte, von dem aus es nach der Aktivitätsklasse suchen konnte.

1
sdinesh94

Cache leeren

File -> Invalidate Caches / Restart...
1
Nitya Kumar

Fügen Sie in Ihrer build.gradle -Datei Folgendes hinzu.

Android {
     sourceSets {
            main.Java.srcDirs += 'src/<YOUR DIRECTORY NAME>'
        }
...
...
}
0
Naskov

stellen Sie Ihr kompatibles API-Level ein. Ich habe auch das gleiche Gesicht Fehler, so dass ich meine API-Ebene auf 23 in Datei-> Projektstruktur-> App-> Flavour-> Ziel-SDK-Version festgelegt

0
mehak