SORU
11 Aralık 2010, CUMARTESİ


Yüzde Sembolü Android XML

Hangi % sembolü kullanılır dizeleri bir dizi var. % kullanmak için uygun biçim %. Birden fazla % Bu dizi bir dize var ne zaman bana bu hatayı veriyor.

 Multiple annotations found at this
 line:
 - error: Multiple substitutions specified in non-positional format;
   did you mean to add the formatted="false" attribute?
 - error: Found tag </item> where </string-array> is expected

CEVAP
11 Aralık 2010, CUMARTESİ


Android Asset Packaging Tool (aapt) very strict in its latest release haline gelmiştir ve şimdi için kullanılırtümAndroid sürümleri. Alıyoruz aapt-hata artık non-positional format specifiers sağlar çünkü oluşturulur.

Burada kaynak dizeleri %-sembol ekleyebilirsiniz nasıl bir kaç fikir.

Herhangi bir biçim belirteçleri ihtiyacınız yok veya dize değiştirmelerin sadece formatted öznitelik yararlanabilir ve false ayarlayın:

<string formatted="false">%a   %a == 2%a</string>

Bu durumda dizesini %-semboller kaçmak zorunda kalmazsınız Formatter için bir biçim dizgesi olarak kullanılır. Sonuç dizesi "%% = = %2" dir.

Eğer formatted="false" öznitelik atlarsanız, dize biçiminde bir dize olarak kullanılır ve %-semboller kaçış. Bu doğru çift% ile yapılır:

<string>%%a   %%a == 2%%a</string>

Şimdi aapt verir sen hiç hata ama nasıl bağlı kullanmak, sonuç dizesi olabilir "%%%% = = 2%%" Formatter çağrılır olmadan herhangi bir biçimdeargümanlar:

Resources res = context.getResources();

String s1 = res.getString(R.string.str);
// s1 == "%%a   %%a == 2%%a"

String s2 = res.getString(R.string.str, null);
// s2 == "%a   %a == 2%a"

Herhangi bir xml ve kod olmadan sorunun ne olduğunu söylemek zor ama umarım bu mekanizmaları daha iyi anlamanıza yardımcı olur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009
  • Sam Kear

    Sam Kear

    14 Temmuz 2007
  • trickycharms

    trickycharms

    6 Aralık 2013