繁体   English   中英

在Android Studio中通过数组显示图像

[英]Display images through array in Android Studio

我正在尝试重新装备测验应用程序,而不是显示文本问题,而是显示图像(具体来说是石原幻灯片)。 供参考,以下是原始测验应用程序的屏幕截图: 原谅丑陋的黄色

当用户选择“是”或“否”按钮时,将显示烤面包和结果。 直截了当,然后上一个/下一个按钮循环浏览问题。 问题被这样存储:

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来说我还很陌生,但是正如您现在可能已经将它们放在一起一样,我是一名学生,别无选择,只能这样做。

如果布局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] .question是您的问题资源,又名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是您的图像资源,即R.drawable.imagename

编辑1

改变一切

textView.setText(mQandA[i].question)

imageView.setImageResource(mQandA[i].question)

对方

您将不得不在ImageView中显示问题。

这意味着您不能仅仅将其指向可绘制对象,还必须编辑XML布局文件,并更改程序的许多其他部分。
这将包括显示问题的实际代码。

您可以编辑问题并包括实际的Java和XML文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM