2017-02-21 6 views
1

Ich schrieb einfache adnroid App mit MvvmCross. Es gibt nur zwei Aktivitäten. Die erste ist LoginActivity, die zwei Textfelder und eine Schaltfläche enthält. Es funktioniert gut, wenn es im Debug-Modus verwendet wird. Es funktioniert auch nach dem Archivieren, wenn Linker auf None gesetzt ist. Das Problem ist, wenn ich Linker auf SdkAssembilesOnly Anwendung ausführen, aber wenn die Schaltfläche angeklickt wird passiert nichts. Ich denke, dass die Bindung nicht funktioniert.MvvmCross android Linker tötet Bindung

<Button 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="Login" 
     local:MvxBind="Click LoginCommand" /> 

Während Internet surfen fand ich einige Leute LinkerPleaseInclude.cs verwendet - was soll ich zu dieser Klasse hinzufügen, es funktioniert zu machen?

Antwort

2

Ja - eine LinkerPleaseInclude Klasse mit dem folgenden Verfahren darin hinzu:

public void Include(Button button) 
{ 
    button.Click += (s, e) 
     => button.Text = $"{button.Text}"; 
} 

Auch stellen Sie sicher, LinkerPleaseInclude auf den [Preserve(AllMembers = true)] Attribut hat.

+0

Vielen Dank, es ist verbindlich Befehl. Inside Button Ich habe HttpClient Anfrage, die nicht funktioniert, ist es auch über Linker? – miechooy

+0

Ich bezweifle es ... Ich hatte nie Probleme mit Assembly Verknüpfung Entfernen von HttpClient-Methoden. Ich müsste allerdings Code sehen, um es sicher zu wissen. –

+0

Innerhalb Befehl gibt es Code mit HttpClient.PostAsync, ich habe auch String-Eigenschaft in ViewModel hinzugefügt, um alle Fehler oder Maßnahmen anzuzeigen - das ist, wie ich weiß, Button wurde am Anfang der Befehlsmethode Ich schreibe "ButtonClicked", aber nach ein paar Sekunden String disapear und nichts passiert auch hinzugefügt Versuch zu fangen, aber es zeigt nichts – miechooy

Verwandte Themen