SORU
21 EYLÜL 2011, ÇARŞAMBA


Ne kadar kaynaklar onun adını kullanarak dize alabilirim?Android:

UI için 2 Dil var ve kaynak olarak onları dize değerleri res\values\strings.xml ayrı bir dosya:

<string name="tab_Books_en">Books</string>
<string name="tab_Quotes_en">Quotes</string>
<string name="tab_Questions_en">Questions</string>
<string name="tab_Notes_en">Notes</string>
<string name="tab_Bookmarks_en">Bookmarks</string>

<string name="tab_Books_ru">Книги</string>
<string name="tab_Quotes_ru">Цитаты</string>
<string name="tab_Questions_ru">Вопросы</string>
<string name="tab_Notes_ru">Заметки</string>
<string name="tab_Bookmarks_ru">Закладки</string>

Şimdi bu değerler benim app dinamik olarak almak istiyorum:

spec.setContent(R.id.tabPage1);
String pack = getPackageName();
String id = "tab_Books_"   Central.lang;
int i = Central.Res.getIdentifier(id, "string", pack);
String str = Central.Res.getString(i);

Benim sorunum i = 0. Bu kodu this link alınmıştır.

Neden benim durumumda çalışmıyor?

CEVAP
21 EYLÜL 2011, ÇARŞAMBA


Bahsettiğiniz bağlantı dizeleri çalışma zamanı sırasında üretilen iş gibi görünüyor. Strings.xml gelen dizeler, çalışma zamanında oluşturulur. Onları üzerinden alabilirsiniz

String mystring = getResources().getString(R.string.mystring);

getResources() Context sınıfının bir yöntemdir. Activity Service bir Bağlam uzatmak () içinde ise bu parçacık gibi kullanabilirsiniz.

Ayrıcabütün dil bağımlılık dikkat android çerçeve ile alınabilir unutmayın. Sadece her dil için farklı klasörler oluşturun. Eğer İngilizce varsayılan dil ise, sadece res/values/strings.xml İngilizce dizeleri koyun. Sonra yeni bir klasör values-ru res/values-ru/strings.xml içine aynı adları taşıyan Rus teller taktı. Android bu noktadan seçer doğru ya getString() arayın veya @string/mystringile XML dizeleri başvururken zaman için aygıt bölgeye bağlı olarak,. res/values/strings.xml olanları geri dönüş olanlar, eğer bir klasör kullanıcılar yerel kapsayan yok eğer doğru değilse, bu varsayılan değerler olarak kullanılacaktır.

Daha fazla bilgi için Localization Providing Resources bkz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009
  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012
  • VitalyzdTv

    VitalyzdTv

    7 AĞUSTOS 2011