我正在尝试重新安装测验应用程序,而不是显示文本问题,将显示图像(Ishihara幻灯片是具体的)。 作为参考,这是原始测验应用程序的屏幕截图:
当用户选择true或false按钮时,会显示结果的Toast。直截了当,前一个/下一个按钮循环显示问题。问题存储如下:
final QuestionAndAnswer[] mQandA = new QuestionAndAnswer[]{
/*1*/ new QuestionAndAnswer(R.string.question_northAmerica, true),
/*2*/ new QuestionAndAnswer(R.string.question_antarctica, false),
/*3*/ new QuestionAndAnswer(R.string.question_canada, false),
/*4*/ new QuestionAndAnswer(R.string.question_madagascar, true),
/*5*/ new QuestionAndAnswer(R.string.question_wonders, false)
};
我认为将new QuestionAndAnswer
指向R.drawable.imagename
可以实现此目的,而只是将图像的位置显示为文本。
并将其更改为new ImageView(R.drawable.imagename, true)
会引发错误:
ImageView中的ImageView(android.content.Context,android.util.AttributeSet)无法应用于(int,boolean)
对不起,我对Android仍然很陌生但是你现在可能已经把它放在了一起,我是一名学生,除此之外别无选择。
答案 0 :(得分:3)
如果你在布局xml上有这样的东西
<RelativeLayout ...
...
<TextView android:id="@+id/text_view_id" ... />
...
</RelativeLayout>
您需要将其更改为
<RelativeLayout ...
...
<ImageView android:id="@+id/image_view_id" ... />
...
</RelativeLayout>
然后在你的活动课上,也许你有类似下面的内容
TextView textView;
public void onCreate() {
textView = (TextView) findViewById(R.id.text_view_id);
....
textView.setText(mQandA[i].question)
}
mQandA [i]。问题是您的问题资源a.k.a R.string.question_northAmerica 将其更改为
ImageView imageView;
public void onCreate() {
imageView = (ImageView) findViewById(R.id.image_view_id);
...
imageView.setImageResource(mQandA[i].question)
}
mQandA [i] .question 是您的图片资源a.k.a R.drawable.imagename
编辑1
改变
的每一个外观textView.setText(mQandA[i].question)
与
imageView.setImageResource(mQandA[i].question)
对方
答案 1 :(得分:0)
您必须在ImageView中显示问题。
这意味着您不能将其指向drawable,您必须编辑XML布局文件,并更改程序的其他许多部分。
这包括显示问题的实际代码。
您可以编辑您的问题并包含实际的Java和XML文件。