2012-02-22 112 views
0

我在Eclipse中使用Android。我有我的随机图像发生器工作。在加载页面的这一刻,在用户单击按钮之前,ImageView1中会自动加载一个随机图像。 (在用户点击按钮之后,另一个随机图像被加载)。 *当页面加载时,我不希望任何图像显示在ImageView1上,直到用户单击按钮。我怎么能够更改我的代码,以便在用户单击按钮之前不会自动加载图像?随机图像生成器Android

package com.senior.callacab2; 

    import java.util.Random; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.widget.ImageView; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 

    public class Generatedrinks extends Activity implements OnClickListener { 


private int[] mPhotoIds = new int [] { R.drawable.img1, 
     R.drawable.img2, R.drawable.img3, R.drawable.img4, R.drawable.img5, 
     R.drawable.img6, R.drawable.img7 }; 

private static final Random rgenerator = new Random(); 

private ImageView iv; 

// Makes new images appear after every button click 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.generatedrinks); 

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

    View nextButton = findViewById(R.id.button2); 
    nextButton.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()) { 
    case R.id.button2: 

iv.setImageResource(mPhotoIds[rgenerator.nextInt(mPhotoIds.length)]); 
     break; 
    } 

    // Makes button2 invisible after two clicks the first click generates a 
    // random image and the second click makes the button disappear 
    Button generator = (Button) findViewById(R.id.button2); 
    generator.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Button button = (Button) v; 
      button.setVisibility(View.INVISIBLE); 
     } 
    }); 
    // When this button is pressed it takes the user to the next layout 
    // called Scoreclass.class 

    Button next = (Button) findViewById(R.id.button1); 
    next.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      Intent myIntent = new Intent(view.getContext(), Scorecard.class); 
      startActivityForResult(myIntent, 0); 
     } 

    }); 

} 

    } 

回答

1

好吧,如果你不想让你的活动点击之前,那么当您启动活动不加载图像加载图像...

你必须在此代码您onCreate

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

取下第一和第三行(第二个仍然是有用的发现,供以后使用视图)和你的活动开始时,你就不会加载图像。

+0

谢谢这工作完美。 – eg8842 2012-02-27 22:16:52

+0

很高兴帮助。如果这回答您的问题令您满意,则可以单击此答案旁边的复选标记以将其标记为接受的答案。 – kabuko 2012-02-27 22:29:18