Visual Studio 2015 - Xamarin - Android - Erste “Ressource.id enthält keine definition für xxx", wenn ich versuche, etwas zu tun in der .cs-Datei
Zusätzliche Aktivität .cs und Layout axml Mithilfe von Visual Studio 2015.
Ich bin sehr neu in Xamarin und Android-Entwicklung, sondern haben die Entwickler seit ein paar Jahren mit VB und jetzt C#. Ich habe eine einfache app, die auf Android 4.2, das ist immer komplizierter, als ich entlang gehen. Die einfache Sache ist, die uns, die möchte ich hinzufügen, dass eine zusätzliche GpsAction.die cs und die entsprechenden Gps.axml-layout für das Projekt. Es scheint unmöglich zu finden, die richtige Kombination syntax, dies zu erreichen. Ich habe eine mainActivity main.axml. In VS 2015 es ist sehr einfach neue hinzufügen, aber ich bekomme immer "resource.id enthält keine definition für" ich würde wirklich zu schätzen Ihre Hilfe bei diesem
namespace AddCam
{
[Activity(Label = "GpsActivity")]
public class GpsActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.GpsLayout);
string c = FindViewById<TextView>(**Resource.Id.textView1**).Text;
//Create your application here
}
}
- Xamarin ist die Software noch buggy, vor allem mit layouts. Eine vollständige Neuerstellung und sehen, ob das hilft.
- Posten Sie Ihre axml.
- Sie sind richtig, Sami, ich war dabei, reinigt und baut über und über. So bin ich heute morgen angemeldet und niedrige und siehe da ich hatte keine Fehler. So, jetzt bin ich verrückt vor Neugierde und haben, um herauszufinden, was ich Tat Recht. Stellt sich heraus, dass, wenn ich änderte den text-Feld "id" gespeichert, umgebaut und verändert es wieder behoben. Ich bin markieren Sie Ihre Antwort korrigieren. Dank einem Haufen - Elend liebt Gesellschaft
- Gusman - ich sollte Hinzugefügt haben, die axml im original. Bevor ich es realisiert hatte ich geschrieben über das original, wenn man versucht, es zu beheben. Ich starrte es für eine lange Zeit und es war richtig erscheinen, das war das Geheimnis und der exakt gleiche code war gerade in einer anderen app war dies buchstäblich Ausschneiden und einfügen. Aber das nächste mal werde ich nach den axml unabhängig. Danke für die Antwort.
- Ich hatte eine, wo das problem war eine ungültige XML-syntax: ein . (Punkt) irgendwo nach einem schließen /> . Da gab es keine Nachricht darüber, und einen . ist kaum sichtbar ........ es dauert tome zu finden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Menschen, die noch vor diesem Problem, die Standard - Build Action der layout-Datei für die Einstellung auf
TransformFile
. Wählen Sie das layout, gehen Sie auf die Layout-Eigenschaften " und im Eigenschaften-Fenster, Wählen SieAndroidResource
als Ihren Build-Aktion. Reinigen Sie bauen Ihr Projekt und es sollte funktionieren.Änderte ich den text-Feld "id" aus "@+id/imageView1" auf "1", gespeichert, wieder aufgebaut und verändert wieder in "@+id/imageView1" es es behoben. Ich möchte hinzufügen, das ganze problem kam von
Alle ziemlich Häufig Sachen, das eigentliche problem schien immer zu jedem hinzufügen von neuen Aktivitäten und Layouts, um eine Haupt-Aktivität. Es kann sehr verworren und ohne (mir bekannte) logische Weg zu run down ein problem mit Xamarin. Versteh mich nicht falsch, im Vergleich zu vor 10 Jahren (die Letzte mobile app, die ich versuchte zu schreiben) Xamarin ist der Himmel. Gute coding Leute, wenn ich jetzt nur herausfinden, warum Keyword "diese" Fehler " -ring auf den zusätzlichen Aktivität.cs
Nur hinzufügen namespace wie das Android.Ressource.Id - es ist behoben, für mich
public partial class Id { }
innerhalb der Klasse Resource und baute das Projekt. Jetzt alleResource.Id.____
gut funktioniertWas hat Arbeit für mich (Visual Studio 2017, die Eröffnung eines alten Xamarin-Projekt):
Nun die Ressource sichtbar sein (natürlich, wenn man es definiert nicht richtig).
Sollten Sie hinzufügen, legen Sie den Wert für
android:id="@+id/button1"
im axml der app haben, dann erstellen Sie das Projekt neu und versuchen Sie es erneut.wie diese
Button button = (Button)FindViewById(Resource.Id.button1);
.Deaktiviert Main.axml-Seite und Zurückgesetzt, und es funktioniert.
Die beste Lösung, die ich gefunden habe, ist auf Projektmappe erstellen.
Wählen Sie Projektmappe von Build-Menü (oder Strg+Shift+B).
Diese Aktion wird das Problem beheben.
Mein problem war ich habe versucht zu Debuggen, Xamarin Android-Projekt (native) mit Xamarin Live-Player, Anschluss über USB-Kabel und wählen Sie mein Gerät für die Fehlersuche das problem gelöst
Überprüfen, wenn Sie fehlen diesen namespaces in Ihrem layout-Datei -
Stellen Sie sicher, dass Ihre axml ist gut ausgebildet und die Projektmappe neu erstellen, sollte es funktionieren, wenn Sie weiterhin vor dem gleichen Problem, dann entfernen Sie axml und wieder hinzufügen, dann erstellen Sie die Projektmappe.
Überprüfen Sie die Ressource.Designer class-Datei. Es wird eine Klasse wie
public partial class Id
. Da die integer-IDs der Steuerelemente geschrieben. Verwenden Sie anstelle von Ressource.Id