我有4个讲话泡泡,其中2个在白色气泡中有问题,另外2个蓝色泡泡有答案。我已经完成了随机图像,但是如何随机生成问题和答案,我对此感到困惑。我不明白如何在图像中以编程方式设置文本(在这种情况下是语音气泡)。这些是解决我更多问题的图像。!
下次问题显示以下类型。
我已完成以下代码:
public class TestingActivity extends Activity {
ImageView i1, i2, i3, i4;
int TwoArray[][] = new int[6][5];
static int i;
static int j;
static int a = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupVeiw();
setImages();
}
// Shuffle here
private void setupVeiw() {
i1 = (ImageView) findViewById(R.id.imageView1);
i2 = (ImageView) findViewById(R.id.imageView2);
i3 = (ImageView) findViewById(R.id.imageView3);
i4 = (ImageView) findViewById(R.id.imageView4);
}
public int getImage(int val)
{
if (val == 0)
{
// How to set programmatically **questions** numbers in spechh bubble
return R.drawable.speech_white;
}
else
{
// How to set programmatically **answers** numbers in spechh bubble
return R.drawable.speech_blue;
}
}
public void setImages()
{
try {
int numArray[] = { 0, 0,1, 1 };
shuffleList(numArray);
for (i = 0; i < numArray.length - 1; i++)
{
switch (i)
{
case 0:
i1.setImageResource(getImage(numArray[i]));
break;
case 1:
i2.setImageResource(getImage(numArray[i]));
break;
case 2:
i3.setImageResource(getImage(numArray[i]));
break;
case 3:
i4.setImageResource(getImage(numArray[i]));
break;
default:
break;
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
我在等你的好建议。 谢谢你提前。
答案 0 :(得分:2)
如果你改用TextView会很好,你仍然可以在文本视图中设置背景图像。
首先,要生成问题,您可以使用以下属性创建名为Question的类。
public static int ADDITION = 1; // for example's sake
double x, y; // your variables
int operation; // operation
public Question(double x, double y, int operation) {
this.x = x;
this.y = y;
this.operation = operation
}
public double returnAnswer() {
double answer = 0;
if(operation == Question.ADDITION) {
answer = x + y;
}
return answer;
}
然后你可以生成问题
Question firstQuestion = new Question(Math.random(), Math.random(), Question.ADDITION);
您可以使用TextViews,而不是使用ImageViews来显示问题。使用setText()
方法显示问题,使用setBackground()
方法更改背景图片。