2017-07-12 1 views
0

はImageswitcherそれはLog1に来てからクラッシュします。間違っていますか?

のIDである「さ」

のある配列内の画像の数

アレイは5個のイメージ含まれています:次の前の一時停止停止プレーを

public class MainActivity extends AppCompatActivity { 

Button btnnext,btnprev; 
ImageSwitcher is; 
int s; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final Integer[] img=new Integer[]{R.drawable.next,R.drawable.play,R.drawable.previous,R.drawable.stop,R.drawable.pause,}; 
    btnnext=(Button)findViewById(R.id.btnnext); 
    btnprev=(Button)findViewById(R.id.btnprev); 
    is  =(ImageSwitcher) findViewById(R.id.is); 
    Log.i("log1","1"); 

    is.setFactory(new ViewSwitcher.ViewFactory() { 
     @Override 
     public View makeView() { 
      ImageView imageView=new ImageView(getApplicationContext()); 
      imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 

いただきまし間違っ以下の行を持ちますか? Log30(i) 戻るimageView; Log30(Log2 "、" 2 ");

 } 
    }); 

Log.i

ボタン次にコード:

 btnnext.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Animation right= AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.slide_out_right); 
      Animation left= AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.slide_in_left); 
      is.setAnimation(left); 
      is.setAnimation(right); 
      is.setImageResource(img[(s+1)]); 
     } 
    }); 

Log.i( "LOG3"、 "3")。

ボタン前のコード:

 btnprev.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Animation right= AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.slide_out_right); 
      Animation left= AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.slide_in_left); 
      is.setAnimation(left); 
      is.setAnimation(right); 
      is.setImageResource(img[(s-1)]); 
} 
}); 
} 
} 

答えて

0

このコードを削除する必要があります。

is.setImageResource(img[s]); 

代わりに:私が使用shoul

is.setImageResource(img[(s+1)]); 

currentImage++; 
      currentImage = currentImage % img.length; 
      is.setImageResource(img[currentImage]); 

との代わりに:

​​

私が使用する必要があります。

currentImage--; 
      currentImage = (currentImage + img.length) % img.length; 
      is.setImageResource(img[currentImage]); 
関連する問題