Android:如何在应用程序中设置按钮的按钮图像

Android:如何在应用程序中设置按钮的按钮图像,android,Android,目前我有这样一个:前面的卡片显示。setBackgroundResource(R.drawable.large卡片0) 然而,我希望大卡片“0”是灵活的,这意味着我希望它基于一个变量或在需要时进行更改。可能是1,2,3。。等等。做这件事最好的方法是什么。我也尝试过创建一个r.string,但它似乎不起作用。提前谢谢 问候, Ryan我相信您需要getIdentifier() 这是我知道的唯一方法,而且效果很好 编辑:示例 for (int i = 1; i <= 118; i++) {

目前我有这样一个:前面的卡片显示。setBackgroundResource(R.drawable.large卡片0)

然而,我希望大卡片“0”是灵活的,这意味着我希望它基于一个变量或在需要时进行更改。可能是1,2,3。。等等。做这件事最好的方法是什么。我也尝试过创建一个r.string,但它似乎不起作用。提前谢谢

问候,


Ryan

我相信您需要getIdentifier()

这是我知道的唯一方法,而且效果很好

编辑:示例

for (int i = 1; i <= 118; i++) {
        int id = getResources().getIdentifier("element" + i, "id", this.getPackageName());
        Button preview = (Button) findViewById(id);
        //...

    }

for(inti=1;i您需要设置一个switch语句来设置您的drawableId

    private int getDrawableId(int yourVariableToSwitchOn) {

        int drawableId;
        switch(yourVariableToSwitchOn) {
            case CASE_0:
               drawableId = R.drawable.large_card_0;
               break;
            case CASE_1:
               drawableId = R.drawable.large_card_1;
               break;
            case CASE_2:
               drawableId = R.drawable.large_card_2;
               break;
            case CASE_3:
               drawableId = R.drawable.large_card_3;
               break;
         }
         return drawableId;
    }

然后只需设置你的背景
front\u card\u display.setBackgroundResource(getDrawableId(someVariableToControlResource))

复制drawable文件夹中的所有drawable图像,如mdpi、hdpi、xhdpi取决于分辨率,t将很容易。嗨,TyFlyGuy,为什么drawable ID是int类型。谢谢你的reponseR.drawable.large_card_0或任何你试图从drawable获取的资源都会以int形式返回。我会稍微编辑一下。嗨,Rahl_Pryde,你能给我一个提示吗关于如何使用此方法的示例?您好Rahl_Pyrde,您的示例帮助很大,但仍然有一件事给了我一个错误“this.getPackageName()”;它说getPackageName()是一个未定义的方法,可能是getApplicationContext();可以为您工作,但我对上面的代码没有问题。