小弟在加载图片的时候 遇到的问题: imageStopWatchMin1.setImageResource(R.drawable.number_00); imageStopWatchMin1.setImageResource(0x7f02003c);
其中在生成的R.java文件中
        public static final int number_00=0x7f02003c;
但是两个得到的效果不一样,其中前者显示的是number_01.png这张图,而number_00显示的是number_00.png这张图。理论上这两种显示效果都应该是number_00.png这张图。但是前者显示的是下一张图。求解释。跪求解决方案。谢谢!在线等!

解决方案 »

  1.   

    R.java是aapt自动生成的,不保证每次都一样,建议不要直接用数值。
      

  2.   

    你这样

    imageStopWatchMin1.setImageResource(R.drawable.number_00);
    后面加上
    Log.i("Test", " = " + R.drawable.number_00);看看输出的数字是否与0x7f02003c相同
      

  3.   

    是不一样,往下走了一位,请问原因?如何解决阿?这个R.JAVA是自动生成的啊,莫非要删除R.JAVA重新生成下?
    你这样
      

  4.   

    这很难把握,因为,你如果要将R.java里面的值放到代码里面,那么在Build的时候,R.java又有可能重新被自动生成。虽然不知道你为什么一定要直接用数字来代替标识,但建议不要这么错,这种方法不可取,不确定性太大了,兼容性不好。
    非得这么做的话,你尝试先运行一次Clean,然后打开R.java,找到对应的标识的数字并拷贝到代码中,重新Build看看。
      

  5.   


    已经clean了下,但是还是没有效果,求具体的解决方案,谢谢!
      

  6.   

    你来图片代替字体跟用setImageResource(R.drawable.number_00);有什么关系吗?setImageResource(R.drawable.number_00);和setImageResource(数字);不都是为了找到对应的图片吗?
      

  7.   

    目前就是这样操作的,但是我取0的话,得到的图片就是1.因为R.JAVA生成错位了
      

  8.   

    楼主是要时钟24个小时每个小时用不同的图片是把?
      准备24张图片,图片命名icon_1,icon_2...icon_24
      获取图片资源时,根据名字去获取该名字的资源id,然后再根据资源id获取该图片资源
      图片名字根据icon_和当前时钟小时数值合成即可