什么值我们可以传递给setImageResource()在android作为整数,不能理解setImageResourc



我正在做一个android应用程序的逆向工程。我需要改变在应用程序中使用的图像。在应用程序中搜索后,我知道图像是使用setImageResource()方法设置的。
我的问题是,在应用程序的代码中,setImageResource()方法已经传递了一个整数值,这不是应用程序中任何资源的id ..下面是一个示例代码:

{
private ImageView h;
        case 0:
          this.h.setImageResource(17301543);
          break;
        case 1:
          this.h.setImageResource(17301533);
          break;
        case 2:
          this.h.setImageResource(17301568);
}

我在一个应用程序的r.j java文件中搜索了这些整数值,但没有id与这些整数匹配。根据我的理解,任何android资源的id都是10位十进制数,在public.xml中以十六进制形式表示。我不明白这些值是什么。湖号17301543。所以谁能告诉我这些整数值可能是什么,或者它们是否代表其他东西。提前感谢. . . .

把这三张图片放到你的res/drawable文件夹中,命名为image1, image2 &并使用这个

{
private ImageView h;
    case 0:
      this.h.setImageResource(R.drawable.image1);
      break;
    case 1:
      this.h.setImageResource(R.drawable.image2);
      break;
    case 2:
      this.h.setImageResource(R.drawable.image3);

}

此处不要使用整数值。您使用的id是自动从您的资源文件(和一些内置到android)生成的。例如,如果在drawables文件夹中有一个myImage.jpg文件,则使用R.id.myImage

您必须提供您的可绘制R.id.imageId的资源id。

也可以将0传递给setImageResource,这将清除图像视图。

例如,如果你有一个开关情况,你想设置图像在2-3的情况下,在休息,你想清除imageview。

case 0:
  this.h.setImageResource(R.drawable.image1);
  break;
case 1:
  this.h.setImageResource(R.drawable.image2);
  break;
default:
  this.h.setImageResource(0); //Passing 0 to setImageResource will clear the image view.

最新更新