2010-12-09 33 views

Répondre

9

Utilisez JRE/JDK 1.5, qui ne possédait pas une méthode isEmpty sur String. Cela évitera les situations où Scala utilise le isEmpty du 1.6 au lieu du sien. Si vous avez aussi des bibliothèques Java, assurez-vous de choisir celles compatibles avec 1.5.

10

java.lang.String.isEmpty() a été ajouté dans Gingerbread (2.3). Vous devrez écrire votre propre fonction de remplacement ...

+0

Je compile contre 2.2 et compiles du compilateur cette. Il trouve l'implémentation 'isEmpty' dans' IndexedSeqOptimized.isEmpty'. –

+1

Voilà un peu de bizarre Scala. L'API Android dans votre question n'a définitivement pas apparaître avant Gingerbread. Voir que http://developer.android.com/reference/java/lang/String.html#isEmpty() dit "Since API Level 9" –

+0

Oui, mais je pense qu'il devrait utiliser l'implémentation du trait 'IndexedSeqOptimized'. La question est, pourquoi il n'utilise pas ce trait? –

7

Alternativement utiliser (text.length()>0)?

+0

Oui, j'utilise maintenant 'text.length == 0'. –

+0

a travaillé pour moi, merci! – TharakaNirmana

4

Utilisez TextUtils.isEmpty() à la place, disponible depuis le niveau de l'API 1.