2017-02-01 3 views
0

Я хочу случайно изменить фон приложения. Предполагается, что случайное изображение из его собственной папки в качестве фона. Он отлично работает с некоторыми устройствами, но с некоторыми из них нет. Интересно, что может вызвать эту несогласованность. Вот мой случайный класс фон генератор:Android - Пользовательское фоновое изображение

public class arkaplanGenerator { 
public static int arkaplan(){ 
    int sonucArkaplan = 0; 
    Random r = new Random(); 
    int sayi = r.nextInt(11); 
    switch (sayi){ 
     case 0: 
      sonucArkaplan = R.drawable.bavaria; 
      break; 
     case 1: 
      sonucArkaplan = R.drawable.gorges; 
      break; 
     case 2: 
      sonucArkaplan = R.drawable.more; 
      break; 
     case 3: 
      sonucArkaplan = R.drawable.mountains; 
      break; 
     case 4: 
      sonucArkaplan = R.drawable.pisa; 
      break; 
     case 5: 
      sonucArkaplan = R.drawable.sea; 
      break; 
     case 6: 
      sonucArkaplan = R.drawable.sunset; 
      break; 
     case 7: 
      sonucArkaplan = R.drawable.sunset2; 
      break; 
     case 8: 
      sonucArkaplan = R.drawable.wai; 
      break; 
     case 9: 
      sonucArkaplan = R.drawable.water; 
      break; 
     case 10: 
      sonucArkaplan = R.drawable.waterfall; 
      break; 
    } 
    return sonucArkaplan; 
} 

А вот как я использую его в своей основной деятельности:

LinearLayout linearLayout = (LinearLayout)findViewById(R.id.activity_main); 
linearLayout.setBackground(getResources().getDrawable(arkaplanGenerator.arkaplan())); 

Эти изображения в рисуемых folder.Thanks заранее.

+1

Это почти невозможно, чтобы помочь вам без информации, какие устройства у вас есть проблемы и какие именно проблемы у вас есть. – Divers

ответ

0

Метод getDrawable от класса Resources устарел. Вы должны использовать один из ContextCompat: (? Трассировка стека)

linearLayout.setBackground(ContextCompat.getDrawable(getApplicationContext(),arkaplanGenerator.arkaplan())); 
+0

Не уверен, что это было проблемой. Устаревший не означает, что он не работает. – AnixPasBesoin

Смежные вопросы