我正在尝试使用此代码填充imageViews
dynamicaly:
inventorySpace[i].setImageResource((getResourceId(testimg, "mipmap", getPackageName())));
public int getResourceId(String pVariableName, String pResourcename, String pPackageName) {
try {
return getResources().getIdentifier(pVariableName, pResourcename, pPackageName);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
然而,它不起作用。如果我使用资源名称,它可以正常工作:
inventorySpace[i].setImageResource(R.mipmap.testimg);
我认为错误不在getResourceId()
上,因为它适用于我的TextViews,如下所示:
public void initInventory()
{
String name = "item0";
for(int i = 1; i < inventorySize; i++)
{
inventoryViews[i] = findViewById(getResourceId(name+i, "id", getPackageName()));
inventorySpace[i] = (ImageView)(inventoryViews[i].findViewById(R.id.imageViewItem));
itemDescriptions[i] = (TextView)(inventoryViews[i].findViewById(R.id.itemDesc));
}
}
请您帮我查一下为什么它只在设置图片资源时失败。