Android - 如何使用 java 文件中的计数器来定位 resource/image 名称?
Android - how can you use a counter in the java file to locate a resource/image name?
有没有办法在 java 文件中使用计数器将 resource/drawable/image 设置为变量?
例如:
布局文件
<ImageView
android:id="@+id/imageHolder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"/>
Java 文件
int index = 0;
ImageView imgHolder =(ImageView) findViewById(R.id.imgHolder);
Drawable drawable = getResources().getDrawable(R.drawable.img<index>);
imgHolder.setImageDrawable(drawable);
我敢肯定这是不可能的,但我只是想举例说明我正在努力实现的目标。
我只想绕过我觉得不可避免的事情,即:
if(index == 1)
{
drawable = getResources().getDrawable(R.drawable.img1);
imgHolder.setImageDrawable(drawable);
}
else if(index == 2)
{
drawable = getResources().getDrawable(R.drawable.img2);
imgHolder.setImageDrawable(drawable);
}
else if(index == 3)
etc...
类似于我在这里的回答
image.setImageResource(getImageId(this, "img" + index);
所以基本上您是从柜台获取数字并将其处理为您存储图像的格式并调用下面的帮助程序以获取正确的图像 ID。
public static int getImageId(Context context, String imageName) {
return context.getResources().getIdentifier("drawable/" + imageName, null, context.getPackageName());
}
有没有办法在 java 文件中使用计数器将 resource/drawable/image 设置为变量?
例如:
布局文件
<ImageView
android:id="@+id/imageHolder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"/>
Java 文件
int index = 0;
ImageView imgHolder =(ImageView) findViewById(R.id.imgHolder);
Drawable drawable = getResources().getDrawable(R.drawable.img<index>);
imgHolder.setImageDrawable(drawable);
我敢肯定这是不可能的,但我只是想举例说明我正在努力实现的目标。
我只想绕过我觉得不可避免的事情,即:
if(index == 1)
{
drawable = getResources().getDrawable(R.drawable.img1);
imgHolder.setImageDrawable(drawable);
}
else if(index == 2)
{
drawable = getResources().getDrawable(R.drawable.img2);
imgHolder.setImageDrawable(drawable);
}
else if(index == 3)
etc...
类似于我在这里的回答
image.setImageResource(getImageId(this, "img" + index);
所以基本上您是从柜台获取数字并将其处理为您存储图像的格式并调用下面的帮助程序以获取正确的图像 ID。
public static int getImageId(Context context, String imageName) {
return context.getResources().getIdentifier("drawable/" + imageName, null, context.getPackageName());
}