Android如何迭代R.drawable对象

Mat*_*men 3 android for-loop drawable

我正在尝试逐帧动画显示并想要遍历drawables,因此我不必在帧数增加时键入所有名称.

但是我似乎无法找到如何遍历drawables.我已经查了一些java for循环教程,但他们都只是打印的东西(据我确定)不必在这里使用.

这是相关的代码(图像的名称是dude1,dude2,...):

   private void startAnimation(){
       animation = new AnimationDrawable();
       for (int i = 1; i < 4; i++) {
           animation.addFrame(getResources().getDrawable(R.drawable.dude(i)), 100);
       }
       animation.setOneShot(true);

       ImageView imageView = (ImageView) findViewById(R.id.img);
       RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(80, 90);
       params.alignWithParent = true;
       params.addRule(RelativeLayout.CENTER_IN_PARENT);      
       imageView.setLayoutParams(params);
       imageView.setImageDrawable(animation);
       imageView.post(new Starter());
   }
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 6

我认为最后的答案很正确但可能是:

for (int i=0; i <10;i++){
      animation.addFrame(
         getResources().getDrawable(getResources().getIdentifier("dude" + i,"drawable",
             getPackageName()),100);
}
Run Code Online (Sandbox Code Playgroud)