我可以在Android Studio中创建包含TextViews和ImageViews的ArrayList吗?

时间:2017-02-11 16:25:08

标签: java android android-studio arraylist view

我正在制作一个小游戏,并在每个回合结束时添加一个名为String gameSummary的{​​{1}}的摘要,然后将其设置为TextView的文本。屏幕底部位于ScrollView

但是,我希望这个摘要也能显示每个回合的骰子滚动图像,所以我当前更新String变量的方法不起作用,所以我想使用一个ArrayList添加了ImageView骰子卷,然后是转弯摘要的TextView。这可能吗?或者,任何人都可以想到更好的解决方法吗?

2 个答案:

答案 0 :(得分:0)

您可以在TextView的文字内添加图片。这些被称为Spannable s。为此,您将使用SpannableStringBuilderImageSpan。例如:

SpannableStringBuilder builder = new SpannableStringBuilder("initial text");
builder.append("\n");
Bitmap image = BitmapFactory.decodeResource(context.getResources(), drawableId);
int imageIndex = builder.length();
builder.setSpan(new ImageSpan(context, image, ImageSpan.ALIGN_BASELINE),
                index , index+1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(builder);

答案 1 :(得分:0)

我会创建一个包含图像和文本的新类,然后创建该类的ArrayList。然后我可能会使用ListView来显示它们。

(未经测试)

public class TurnSummary {
    private String turnTextSummary;
    private Bitmap turnDiceImage;

    public TurnSummary(String summary, Bitmap image) {
        this.turnTextSummary = summary;
        this.turnDiceImage = image;
    }

    // getters & setters
}

然后创建一个列表:

List<TurnSummary> list = new ArrayList<>();
list.add(new TurnSummary(summary, diceImage));