0

我需要在屏幕上显示 5 张图片和指定图片的 onClick,我会播放音乐 3 秒钟,然后随机进入下一个活动(或另外 5 张图片的集合)。

像那样,我必须随机显示多达 16 个不同的视图(16 * 5 图像).....

到目前为止,我已经完成并工作得相当体面。

**为此,我创建了 16 个活动和相应的 16 个 Xml 文件。

我的问题是我可以将这 16 个 XML 文件添加到单个活动而不是 16 个活动。我刚刚听说动态向 Activity 添加布局。但是在我的项目中,我必须更改正确图像的 onClick 图像集并加载新图像,以进行单击...**

简而言之,我想在 The SINGLE Activity上展示各种资源中的内容......

                             (or)

参加许多可能的活动会更好吗?

N0te:这可能是一个简单的问题,但过去 8 天我在这个网站上搜索和搜索,仍然没有结果。所以请帮个忙……

Andd, ** 如果你想给 DOWN VOTE,请说明 Kind 原因....**

4

3 回答 3

1

你可以用这个

setContentView(R.layout.myxmlfile.xml)

在同一个活动中加载另一个布局

要随机加载它们,

获取您的第一个和最后一个布局的 id

final int first = R.layout.myfirstLayout.xml;
final int last = R.layout.myLastLayout.xml;

现在在这两个整数之间生成一个随机值。

final int random = (int)(first + (Math.Random()%last));

使用这个随机加载你的布局

setContentView(random);

为此,您必须通过按字母顺序命名来确保布局正确排序。

于 2013-03-04T07:19:48.890 回答
1

使用LayoutInflater

LayoutInflater layoutInflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.dblayout, null);
setContentView(view);
于 2013-03-04T07:21:30.057 回答
0
int layouts[] = { R.layout.layout1, R.layout.layout2, .... }
setRandomLayout() {
   int layout = layouts[random of layouts.length];
   setContentView(layout);
}

此外,如果所有布局都看起来相同,我建议使用一个布局,但每个图像使用不同的数据/图像。

于 2013-03-04T08:05:49.867 回答