Projemde bazı görüntülerim var. Görüntünün adı bir String içinde saklanır ve setImageResource (R.drawable. "....."); görüntü isminin dizgisi ile ama sorun bu çalışmıyor.R.drawable nasıl değiştirilir "someString"
Bunu nasıl yapabilirim?
Projemde bazı görüntülerim var. Görüntünün adı bir String içinde saklanır ve setImageResource (R.drawable. "....."); görüntü isminin dizgisi ile ama sorun bu çalışmıyor.R.drawable nasıl değiştirilir "someString"
Bunu nasıl yapabilirim?
bu doğru bir sözdizimi değildir ve sen bilmelisin görüntü kaynağı değiştirmeden önce, derleyici zaman hata alıyorum gerekir, tüm kaynakların bir kimliği sağladı, bu kimlikleri R.java dosyası içine saklanır. Kimlikleri tamsayı biçime saklanır ve uygulamanızda değil ismen, bu kimliği bütün bu kaynakları getirebilir, bu yüzden tarafından, ilk başta kaynağın kimliği getirmesi gerekir: Bu Resid kullanmak sonra
String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
ve .
Harika, teşekkürler. –
Kullanım
getResources().getIdentifier("NAME_OF_IMAGE", "drawable", context.getPackageName())
tarafından erişime onu görüntüleri depolamak zorunda, teşekkür ederim. –
bu thread bakınız. Sana yardım etmeli. Temel olarak, tanımlayıcıyı almanız ve setImageResource
'u kullanarak yüklemeniz gerekir.
Bilinmeyen downvoter, cevabımla ne kadar kötüyüm? –
Harika, teşekkürler. –
Hepinize olumlu oy verdim. –
public int getIdentifier (String name, String defType, String defPackage);
adı - resim
defType adı - bu dava için çekilebilir olacaktır
defPackage - Uygulamanızın varsayılan paket
deneyin (bunun için size aktivitesi üzerine getPackage() kullanabilirsiniz düşünüyorum) bu
String uri = "NAME";
// int imageResource = R.drawable.icon;
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
ImageView imageView = (ImageView) findViewById(R.id.myImageView);
Drawable image = getResources().getDrawable(imageResource);
imageView.setImageDrawable(image);
Görüntüyü 'çizilebilir' olan 'ham' klasöre taşıyarak ve aşağıdaki gibi dize değerine erişerek çalışıyorum. sağ 'ham' seçeneğini restorayon> new-> Android kaynak dizini ve resourcetype ait açılır menüsü altında tıklayın 'res' dizin altında 'ham' klasörünü yoksa.
String avatar = ("android.resource://" + "yourPackageName/" + String.valueOf(R.raw.robot_blue));
Görüntüler nerede mevcut? – Deva
Projemin çekilebilirliğinde. –
Onun değil android bir yolu çalışmaları, Sen çekilebilir ve Büyük R.drawable.image – Newts