Как мне ссылаться на изображение, возвращенное в массиве случайных изображений? - PullRequest
0 голосов
/ 02 апреля 2011

Я собираю несколько кодов и пытаюсь назначить обои с прикрепленным кодом. Работает случайная часть изображения, работает назначение изображения для обоев, но я не вижу, как получить точное изображение, которое будет изображением для обоев.

public class RandomImage extends Activity implements OnClickListener{

    private Integer [] mImageIds = { 
        R.drawable.big1, 
        R.drawable.big2, 
        R.drawable.big3, 
    };

    private static final Random rgenerator = new Random();
    private ImageView iv;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.winner);

        Integer q = mImageIds[rgenerator.nextInt(mImageIds.length)];
        iv = (ImageView) findViewById(R.id.imageView1);
        iv.setImageResource(q);
        iv.setImageResource(mImageIds[rgenerator.nextInt(mImageIds.length)]);

        View setButton = findViewById(R.id.set_wallpaper);
        setButton.setOnClickListener(this);     
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.set_wallpaper:
                WallpaperManager myWallpaperManager = 
                    WallpaperManager.getInstance(getApplicationContext());
                try {     
                    //How to reference the image selected in above random array? 
                myWallpaperManager.setResource(????);   
                } catch (IOException e) { 
                    // TODO Auto-generated catch block     
                    e.printStackTrace();
                }
         }
     }
}

1 Ответ

0 голосов
/ 02 апреля 2011

Почему бы не объявить переменную класса int, содержащую идентификатор, например:

int lastImageRef;

...

lastImageRef = mImageIds[rgenerator.nextInt(mImageIds.length)];
iv.setImageResource(lastImageRef);

...

myWallpaperManager.setResource(lastImageRef); 
...