android - 每次点击时随机将 Image 设置为 ImageButton

标签 android button random imagebutton

我正在尝试从图像制作一个按钮,其想法是每次单击按钮都会更改图像,因此按钮的形状和外观也会发生变化。

E.g., every click gives a point, and every shape or "image" is selected based on an algorithm I made for this purpose

我有这三个变量,其值在下面的代码中随机生成:

rand = new Random(System.currentTimeMillis());
x = rand.nextInt(3);
y = rand.nextInt(8);
z = rand.nextInt(10);

将生成的数字分配给字符串,以使用以下代码创建图像的下一个 id:

String myID = "R.id.myImage_" + x + y + z;

我使用这个代码:

int resource = getResources().getIdentifier(myID, "drawable", "com.asgames.package");

但是,我仍然收到找不到图像的错误。

最佳答案

要在 Android 中为 View 生成随机 ID,您可以使用 generateViewId(),它是 View 类中的一个方法 bundle 在 Android 库中,文档说:

Generate a value suitable for use in setId(int). This value will not collide with ID values generated at build time by aapt for R.id.

查看官方文档here .

现在您可以执行以下操作:

    int imageCoordinates = x + y + z;
    int imageId = View.generateViewId() + imageCoordinates;

关于android - 每次点击时随机将 Image 设置为 ImageButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42322151/

相关文章:

java - 在 Android Studio 中启动 Activity 时出错

java - 为什么 TabLayout 总是打乱 Tab 键顺序?

javascript - JS : Why when I click the button nothing happens?

c++ - C++11 : how to generate, 中的随机数生成是如何工作的?

java - 如何生成两个大于10^25的素数p1,p2

android - 如何在 OCR 中输出仅限 Android 的数字?

android - 无法找到或实例化自定义事件 : com. mopub.mobileads.GoogleAdMobInterstitial

html - Firefox 按钮变大

javascript - 如何在单击按钮时过滤数据并在同一选项卡上显示而不重新加载页面

python - 使用 Selenium 实现 WhatsApp Web 自动化随机消息