2011-04-02 60 views
0

我正在编写一些代码并尝试使用附加的代码分配壁纸。 随机图像部分的作品,分配图像到壁纸的作品,但我没有看到如何得到显示为壁纸图像的确切图像。如何引用随机图像数组中返回的图像?

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(); 
       } 
     } 
    } 
} 

回答

0

为什么不宣布一个int类变量,股票编号,如:

int lastImageRef; 

...

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

...

myWallpaperManager.setResource(lastImageRef); 
+0

作品,谢谢您。我还有一些其他的东西在清理,但你的解决方案的作品。 – cdaniel09 2011-04-02 16:57:51