2012-11-24 46 views
0

那么!我做了一个代码,在每次声音结束时设置一个新的imageView,并使用While循环验证它,它只是在第二次运行。我已经尝试用开关,但它没有奏效。SetImageResource()不只是在一个循环中第二次工作

av = MediaPlayer.create(this,R.raw.ave_maria); 
    av.start(); 

    salve = MediaPlayer.create(this,R.raw.salve_rainha); 

    im = (ImageView) findViewById(R.id.imag1); 

    Thread thread = new Thread() { 
     public void run() { 

      while (true) { 
       // YouActivity 
       GozososActivity.this.runOnUiThread(new Runnable() { 

        public void run() { 
         if (av.isPlaying()) { 

         } else { 
          avemarias++; 
          if(avemarias > 10){ 
           salve.start(); 
          }else{ 
           im.setImageResource(R.drawable.primeiro_misterio_gozoso+avemarias); 

           av.start();    
          } 
         } 
        } 
       }); 
      } 
     } 
    }; 
    thread.start(); 
+0

你是否100%确定你正在接近命令?另外,+号在id标签中无效,可能会导致问题。 'R.drawable.primeiro_misterio_gozoso + avemarias' – PearsonArtPhoto

回答

1

看看你的代码行,

im.setImageResource(R.drawable.primeiro_misterio_gozoso+avemarias); 

你正在做一些对两个整数的。

那么是否有任何资源可用于该号码? (看看R.java文件,如果没有,则该方法不工作)

对于setImageResource()的Android只能设置资源作为绘制其在R.javaandroid.R文件int条目。

+0

我有我需要的每个资源,例如R.drawable.primeiro_misterio_gozoso + 01); R.drawable.primeiro_misterio_gozoso + 02); ... – RWillamy

+0

但我认为你没有一个**资源**,它的int值等于'R.drawable.primeiro_misterio_gozoso + avemarias'这两个int的总和。看看你的应用程序的'R.java'文件。 – user370305

相关问题