bir ArrayAdapter gelen.: Ben bazı kaynaklar tanımlanmış olan Android
<color name="lightGrey">#FFCCCCCC</color>
<integer name="KEY_POSITION_ARM">2</integer>
örn kaynaklarına erişimi alınıyor ... ve ben TextView'lar öğeleri görüntüleyen bir ArrayAdapter var. "Tipi ContinuityAdapter için tanımlanmamıştır) yöntemi GetResources ("
keyPosition = getResources().getInteger(R.integer.KEY_POSITION_ARM);
moduleDataView.setTextColor(getResources().getColor(R.color.darkgreen));
... ama böyle hatalar alıyorum: Ben gibi koduyla değerlere erişmeye çalışıyorum. (ContinuityAdapter, ArrayAdapter'i genişletir)
Bunun için iyi bir yol var mı?
Teşekkür
Bu bir örnektir:
switch (currentModule.keyPosition) {
case activity.getResources().getInteger(R.integer.KEY_POSITION_ARM):
moduleDataView.keyPosition.setText("TEST");
moduleDataView.keyPosition.setTextColor(Color.GREEN);
break;
case R.integer.KEY_POSITION_ARM:
moduleDataView.keyPosition.setText("ARM");
moduleDataView.keyPosition.setTextColor(Color.RED);
break;
}
ilk dava bir hata verir ve ikinci yapmaz ama her iki XML dosyasından değeri kullanmaz. Söylediğim gibi, R ... değerini her yerde kullandığım sürece kullanabilirim. Bunun 'en iyi uygulama' olarak kabul edilip edilmediğinden emin değilsiniz. Teşekkürler
teşekkür ederiz. Denedim ve işe yaramadığını düşündüm, ama şimdi bir hata yapmanın farkına vardım: 'switch (foo) { case activity.getResources(). GetInteger (R.integer.KEY_POSITION_ARM):' Durum bildirimi, kaynak sabit olsa bile, açıkça bir sabit ifade gerektirir. İfadeleri kullanarak mı takılıyorum? – ARQuattr
Daha fazla kod görmem gerekiyor. Genelde anahtar durumlarından kaçınmaya çalıştım ya da kaynak kimliğini doğrudan kullanıyorum (örn., R.id.xyz). – user802421
Soruyu daha iyi bir kod örneği içerecek şekilde düzenledim. Teşekkürler – ARQuattr