wake-up-neo.net

Fehler: Mehrdeutiger Methodenaufruf. Beide findViewById (int) in AppCompactActivity und Activity

Ich erhalte den Fehler: "Mehrdeutiger Methodenaufruf" beim Initialisieren der Toolbar mit Android Studio 3.0 RC1. Ich habe meine Aktivität mit AppCompatActivity erweitert und meine Anwendung mit 'compileSdkVersion 26' ..__ kompiliert. Ein Screenshot des Fehlers wird hinzugefügt.  enter image description here

29
Sumit T

Wenn Sie Ihr Projekt kürzlich auf API aktualisiert haben, versuchen Sie es 

Datei -> Caches ungültig machen/neu starten

dann

Datei -> Projekt mit Verlaufsdateien synchronisieren

das entschließe mich.

23
Upendra Shah

Ein Upgrade auf appcompat 27 hat dieses Problem für mich gelöst

5
asperon

Die Änderung der Build-Tool-Version auf 27.0.2 hat für mich funktioniert, da alle anderen Abhängigkeiten ebenfalls API 27 sind. 

buildToolsVersion '27.0.2'
4
Pikachu

Ich habe vor kurzem ein Upgrade auf die Build-Tools-Version 27.0.2 durchgeführt und war mit demselben Problem konfrontiert. Ich stellte jedoch fest, dass ich die compileSdk-Version auf 25 gesetzt hatte. Das Ändern von compileSdk auf 27 hat das Problem behoben. 

3
deepdroid

Du hast

import Android.support.v7.app.AppCompatActivity
import Android.app.Activity

beide in Ihrem Code . Entfernen Sie import Android.app.Activity wie ich sehen kann, es ist für Sie nicht erforderlich.

3
Northern Poet

"Datei - Cache ungültig machen/Neustart" Mein Problem wurde gelöst.

3
Stanley Kou

Für mich funktionierte keine der angegebenen Lösungen, jedoch hatte ich dieses Problem, da auf meinem Computer sowohl 25 als auch 27 Android-SDK installiert waren. Sobald ich die SDK 25 entfernte, verschwand das Problem. 

2
Mouss

Ich bin mit Android Studio 3.0.0 Build 171.4408382 auf das gleiche Problem gestoßen. Das Bauen über Gradle in der Befehlszeile hat gut funktioniert, aber die IDE zeigte mir den oben genannten Fehler. Ich habe versucht, die API-Ebene 26 mit appcompat v26.1.0 und die API-Ebene 27 mit appcompat v27.0.1 zu verwenden, aber beide Kombinationen haben nicht funktioniert.

Meine "Lösung" bestand darin, compileSdkVersion und targetSdkVersion auf API Level 25 und die Appcompat-Bibliothek auf Version 25.4.0 herunterzustufen.

Für alle genannten Versionskombinationen habe ich das Gradle Plugin v3.0.0 und das Android Build Tool v27.0.1 verwendet.

1
paprika

Dies kann plötzlich auftreten, wenn ein Codeanalysator wie FindBugs-IDEA ausgeführt wird. Sie können die Warnung schnell löschen, indem Sie die buildToolsVersion in Ihrem app/build.gradle vorübergehend ändern und sie dann erneut ändern.

Gehen Sie beispielsweise folgendermaßen vor:

  1. Öffnen Sie Ihre Datei app/build.gradle.
  2. Ändern Sie buildToolsVersion in '26.0.1' und synchronisieren Sie das Projekt (drücken Sie die Schaltfläche 'Jetzt synchronisieren', wenn es oben angezeigt wird).
  3. Ändern Sie die buildToolsVersion wieder in das, was Sie zuvor hatten.
  4. Klicken Sie auf die Schaltfläche "Jetzt synchronisieren"

Dies sollte den Fehler löschen.

1
Mr-IDE

Möglicherweise unterscheiden Sie compileSdkVersion und targetSdkVersion

1
Satria Akbar

Für mich war es die compileSdkVersion, die sich von den verwendeten Unterstützungsbibliotheken unterschied

0
hiddeneyes02

Stellen Sie zunächst sicher, dass Sie keine transitiven Abhängigkeiten haben, die ältere Unterstützungsbibliotheken verwenden. Führen Sie den folgenden Befehl aus und stellen Sie sicher, dass keine älteren Unterstützungsbibliotheken verwendet werden.

gradlew :app:dependencies

Stellen Sie sicher, dass Ihre Gradel-Datei mit den neuesten Abhängigkeiten aktualisiert wird. zB: compileSdkVersion 27, targetSdkVersion 27, buildToolsVersion 27.0.3. usw. Es wäre auch von Vorteil, sicherzustellen, dass keine Ihrer App-Varianten eine benutzerdefinierte targetSdkVersion verwendet.

Halten Sie die Strg-Taste gedrückt und klicken Sie auf die Methode findViewById. Es zeigt Ihnen die zwei (vielleicht mehr?) Widersprüchlichen Methoden. In meinem Fall lag der Konflikt zwischen der findViewById-Methode von API 23 und API 27. Daher musste ich das SDK und die Quellen für Android Version 23 entfernen. Nachdem ich es entfernt und Invalidate Caches/Restart durchgeführt hatte, war mein Problem gelöst.

0
Randev

wenn das Problem durch Antworten nicht behoben wird, können Sie Ihr Android-Studio zurücksetzen. Ich löste das Problem mit meinem Android-Studio. Für Reset: https://stackoverflow.com/a/19397632/3129822

0
Ferhat KOÇER