我有一个随机数生成器,我需要显示不同的图像, 取决于不同的Int值。
例如,当randomNumber为1时,我需要显示特定的文本和图像 当数字是10另一个特定的文字和图像等。
我甚至可以用ImageView做到这一点,我不知道从哪里开始?
package com.example.drinktivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Main2Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Button back = (Button) findViewById(R.id.buttonback); // Here the R.id.button1 is the button from you design
back.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(Main2Activity.this, MainActivity.class);
startActivity(i);
}
});
ImageView image = (ImageView) findViewById(R.id.imageView1);
Bundle bundle = getIntent().getExtras();
int random = bundle.getInt("Value");
TextView text = (TextView) findViewById(R.id.textView1);
if (random==1) {
text.setText("");
}
if (random==2) {
text.setText("");
}
if (random==3) {
text.setText("");
}
if (random==4) {
text.setText("");
}
if (random==5) {
text.setText("");
}
if (random==6) {
text.setText("");
}
if (random==7) {
text.setText("");
}
if (random==8) {
text.setText("");
}
if (random==9) {
text.setText("");
}
if (random==10) {
text.setText("");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
答案 0 :(得分:1)
创建一个可绘制的数组
public static final int[] im_smiley_drawable_smile_old = {
R.drawable.im_smiley_happy, R.drawable.im_smiley_sad,
R.drawable.im_smiley_winking,
R.drawable.im_smiley_tongue_sticking_out,
R.drawable.im_smiley_surprised, R.drawable.im_smiley_kissing,
R.drawable.im_smiley_yelling, R.drawable.im_smiley_cool}
将随机数发送到此数组,您将获得随机图像
答案 1 :(得分:0)
将int值视为int random 而你的随机数不包括数字1到5。 然后你可以做到这一点。
if(random==1){
imageview.setImageBitmap(yourbitmap);
//here imageview is your imageview. and then bitmap you want when the number generated is 1.
}
答案 2 :(得分:0)
这绝对是可能的,但有很多方法可以做到这一点。我认为您想要的主要方法是生成一个随机数,并根据该数字从您的资源中选择一个图像。您可以检索这样的资源:
context.getResources().getIdentifier(i.getIcon(), "drawable", context.getPackageName())
答案 3 :(得分:0)
int[] i = {R.drawable.drawable1, R.drawable.drawable2, R.drawable.drawable2, R.drawable.drawable4, R.drawable.drawable5,};
Random rand = new Random();
int n = rand.nextInt(5);
imageView.setBackground(getResources().getDrawable(i[n]));