発生している問題・エラーメッセージ
起動時にはアニメーションが呼ばれるのにボタンタップ時は呼ばれない
また、ボタンタップしてバックグラウンドにいき、フォアグラウンドに戻るとアニメーションが実行される
java
Button startBtn=new Button(this); startBtn.setText(R.string.startBtn); startBtn.setOnClickListener(v->{ this.startRotate(); }); btnView.addView(startBtn); setContentView(mainview); } void startRotate(){ Random random=new Random(); double rotaterandom; rotaterandom=random.nextDouble()*360+3600; Animation ani =new RotateAnimation(0.0f,(float)rotaterandom, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); ani.setDuration(5000); ani.setRepeatCount(0); ani.setFillAfter(true); ani.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { Log.d("debag","start"); } @Override public void onAnimationEnd(Animation animation) { Log.d("debag","end"); for(int i=0;i<roulette.listNum;i++){ start[i]=roulette.startAng[i]+(float)rotaterandom-3600; end[i]=roulette.endAng[i]+(float)rotaterandom-3600; Log.d("debag","start"+start[i]); Log.d("debag","end"+end[i]); if(start[i]<=360&&end[i]>360){ resText.setText(roulette.rouletteName[i]); } } } @Override public void onAnimationRepeat(Animation animation) { } } ); roulette.setAnimation(ani); }
試したこと
onClickListnerは正常に動いている
補足情報(FW/ツールのバージョンなど)
androidstudio
あなたの回答
tips
プレビュー