我把开机动画Loading Activity里的finish()去掉了,虽然不爆出finish重复的警告,但是这个现象依然存在。

解决方案 »

  1.   

    首先,onTouchEvent会触发多次,当用手指触屏时,我们理想中以为点一次就只会有一个onTouch事件,实际上会有多个,例如Down、Up、Move,所以,应该将这段代码放到这里面
    if(event.getAction() == MotionEvent.ACTION_DOWN)
    {
    Intent intent = new Intent();
            intent.setClass(Loading.this, TriangleBlockActivity.class);
            startActivity(intent);
            finish();
            Log.d("loading","finish");
    }return true;
    上面的方法也不是非常保险,最好加一个全局对象变量,例如
    private boolean hasFinish = false;然后if(event.getAction() == MotionEvent.ACTION_DOWN && hasFinish == false)
    {
    hasFinish = true;
    Intent intent = new Intent();
            intent.setClass(Loading.this, TriangleBlockActivity.class);
            startActivity(intent);
            finish();
            Log.d("loading","finish");
    }
      

  2.   

    谢谢楼上的大神~~正是这个原因,我又学会了一招~谢谢,分全给您~yes