安卓图片问题

3
实际上,我有52张图片,它们基本上是卡片。这些图片的名称从1到52。
当我把所有52张图片放在我的drawable文件夹中时,它会在R.java文件中显示一个错误,该错误为:
"image name (任何1到52之间的名称)"的语法错误,无效的VariableDeclaratorId。
问题出在哪里?
谢谢回复。
我认为您没有理解我的问题。
我已将我的卡片命名为1到52,因为我需要随机选择其中一张卡片。
3个回答

1

资源名称必须是合适的Java标识符。将它们称为card1card52,而不仅仅是它们的数字(如果我理解你正确的话)。

编辑后添加:要将整数映射到正确的图像,您的代码应该自行管理映射。一种(不太优雅的)方法是明确创建一个Bitmap[] cardImages = new Bitmap[52];数组,并将每个资源分配给该数组,例如:

Resources r = context.getResources();
cardImages[0] = loadBitmap(r.getDrawable(R.drawable.card1));
// ...
cardImages[12] = loadBitmap(r.getDrawable(R.drawable.card13));
// ...    
cardImages[51] = loadBitmap(r.getDrawable(R.drawable.card52));

1
问题在于Android不允许在文件标识符中使用空格。

解决方案是不使用空格。 - anon
他的变量名中没有空格。 - Janusz

1

Pontus Gagge是正确的。Android将获取drawable文件夹中所有内容的名称,并尝试生成一个包含每个应用程序中使用的图像的int的R文件。这些int的名称根据您的可绘制文件的文件名命名。然后,您可以稍后使用这些int作为ID从应用程序中加载图像。

问题在于Java不允许变量名以数字开头。您的图像以数字开头,因此R文件中的变量也将以数字开头。您必须为图像选择另一个名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接