Я хочу установить фоновое изображение для макета в Android с использованием случайного изображения.
У меня есть 20 изображений в forder res / drawable, имена изображений: wallpaper1, wallpaper2, ..., wallpaper20.
мой код:
RelativeLayout manHinhApp=(RelativeLayout)findViewById(R.id.manHinh);
ArrayList<Integer> arrImage=new ArrayList<>();
arrImage.add(R.drawable.wallpaper1);
arrImage.add(R.drawable.wallpaper2);
arrImage.add(R.drawable.wallpaper3);
arrImage.add(R.drawable.wallpaper4);
arrImage.add(R.drawable.wallpaper5);
arrImage.add(R.drawable.wallpaper6);
//........
arrImage.add(R.drawable.wallpaper20);
Random random=new Random();
int position=random.nextInt(arrImage.size())+1;
manHinhApp.setBackgroundResource(arrImage.get(position));
Работает правильно.
Я хочу сделать его короче. мой код:
RelativeLayout manHinhApp=(RelativeLayout)findViewById(R.id.manHinh);
Random random=new Random();
int position=random.nextInt(20)+1;
int resID = getResources().getIdentifier("org.anddev.android.ViewsViDu:drawable/wallpaper"+position, null, null);
//ViewsViDu is my name project
manHinhApp.setBackgroundResource(resID);
, но он не работает. спасибо!