Verwendung der Zeichenfolge aus Ressourcen-XML in Switch?

9

Neu bei Android hier, also entschuldige ich mich, wenn das eine simple Frage ist.

Ich versuche, einen Schalter basierend auf String-Ressourcen in meinem XML zu verwenden. Es würde ungefähr so ​​aussehen:

%Vor%

Leider wird das nicht funktionieren. Der Fehler, den ich bekomme, ist "Konstanter Ausdruck erforderlich".

Gibt es eine halb-elegante Art, dies zu tun, ohne etwas wie 3 String-Objekte erstellen zu müssen und jedem Objekt die String-Ressourcen zuzuweisen? Ich fühle mich, als würde ich etwas Offensichtliches vermissen, also wäre jede Hilfe großartig!

Danke:)

    
user1548103 09.04.2015, 14:53
quelle

3 Antworten

4

Zunächst einmal unterstützt die Version von Java, auf der Android basiert, String switch statements nicht, also müssen Sie in der Regel if/else blocks verwenden.

BEARBEITEN: String-Schalteranweisungen werden unterstützt, wenn Sie JDK 1.7 und höher verwenden

Ich bin mir nicht sicher, was Ihr Anwendungsfall ist, aber wenn Sie die Ressourcen-ID von myStringVariable haben, was ein int ist, können Sie das ändern:

%Vor%     
npace 09.04.2015 14:58
quelle
3

Sie verpassen nicht etwas, das mit Android zu tun hat, sondern mit Java.

Überprüfen Sie diese Antwort, wie Java die Switch-Anweisung verwaltet:

Ссылка

Sie müssen die nicht elegante Lösung verwenden, die Sie erwähnt haben. Aber wer sagt, ist nicht elegant? Ist, was Sie tun sollten, und das macht es elegant.

    
Joaquin Iurchuk 09.04.2015 15:01
quelle
2

Nun, es ist nicht der eleganteste Weg, aber Sie können if - sonst if Anweisungen anstelle von switch - case:

verwenden %Vor%     
harryr 18.08.2015 08:56
quelle