java - android - 重复一个switch语句

标签 java android

在我的应用程序中,我想随机选择一张图片并将其放在屏幕中央。之后,可以执行动画,图像将被移动并随后重置到其原始位置。然后我想选择开关盒的新图像,但图像始终保持不变。我该如何解决?

public class MainActivity extends Activity implements OnGestureListener
{       

        private ImageView imageView;
        float x1,x2;
        float y1, y2;  
        public int sco = 0;
        TextView score;
        final Random rand = new Random();

            @Override
            protected void onCreate(Bundle savedInstanceState)
            {        
                        super.onCreate(savedInstanceState);                       
                        setContentView(R.layout.activity_main);                        
                        imageView = (ImageView) findViewById(R.id.imageview1);
                        imageView.setImageResource(getMyRandomResId());
                        score = (TextView)findViewById(R.id.textView2);                  
            }


            int imag = rand.nextInt(4);
                int getMyRandomResId() {


                    switch (imag) {
                    case 0:

                        return R.drawable.a;
                    case 1:

                        return R.drawable.b;
                    case 2:

                        return R.drawable.c;
                    default:

                        return R.drawable.d;
                }
            }


            private boolean animationRunning = false;

            public boolean onTouchEvent(MotionEvent touchevent)
            {

                final ViewPropertyAnimator animator = imageView.animate();

                switch (touchevent.getAction())
                {

                    case MotionEvent.ACTION_DOWN:
                    {

                        x1 = touchevent.getX();
                        y1 = touchevent.getY();
                        break;
                    }
                    case MotionEvent.ACTION_UP:
                    {

                        x2 = touchevent.getX();
                        y2 = touchevent.getY();

                        if (!animationRunning) {
                    //left to right sweep event on screen
                        if (x1 < x2 && (x2-x1)>=(y1-y2) && (x2-x1)>=(y2-y1)) {

                            animationRunning = true;                        
                            animator.translationX(imageView.getWidth() * 2)                             
                                    .setDuration(180)                                    
                                    .setListener(new AnimatorListenerAdapter() {
                                        @Override
                                        public void onAnimationEnd(Animator animation) {
                                            if(getMyRandomResId() == R.drawable.ballgrue) {
                                                sco++;
                                            }
                                            imageView.setTranslationX(0);
                                            imageView.setImageResource(getMyRandomResId()); 
                                            animationRunning = false;

                                        }
                                    })
                                    .start();           
                        }
            }
           }
           }
        }
}

最佳答案

            int getMyRandomResId() {

     int imag = rand.nextInt(4);
                switch (imag) {
                case 0:

                    return R.drawable.a;
                case 1:

                    return R.drawable.b;
                case 2:

                    return R.drawable.c;
                default:

                    return R.drawable.d;
            }
        }

你得到相同图像的原因只有这个

希望对你有帮助

关于java - android - 重复一个switch语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299828/

相关文章:

java - 我怎样才能告诉GAE缓存外部图像

java - 为什么我需要在每个 Presenter 类中覆盖 "onPlaceRequest"?

android - 方法被调用多次但只调用一次

android - X 分钟 Y 秒前

android - 如何在实验性Gradle插件中使用dexOption?

java - 如何使用 JAXB 将 XML 转换为对象

java - 使用文件中的字符串创建对象

java - java虚拟方法调用有什么用?

java - ListView 项目作为布局

java - Sharedpreferences 保存后返回空值