2015-06-19 34 views
0
public boolean onFling(MotionEvent e1, MotionEvent e2, 
       float velocityX, float velocityY) { 
      // TODO Auto-generated method stub 
      if(velocityX<-10.0f) 
      { 
       mCurrentStateLayout = mCurrentStateLayout == 0 ? 1 : 0; 
       switchLayoutStateTo(mCurrentStateLayout); 
      } 
      return true;  
     }   
    }); 

語句mCurrentStateLayout = mCurrentStateLayout == 0是什麼? 1:0;意思?使用GestureDetector的Fling android

+0

這是一個Java語法問題,與fling或GestureDetector無關。標題/標籤應該進行編輯以避免在搜索時出現混亂。 – MadEqua

回答

1
mCurrentStateLayout = mCurrentStateLayout == 0 ? 1 : 0; 

這是一個在Java中的ternary運算符。對於if語句來說,它本質上是簡短的。

如果mCurrentStateLayout 等於0,該聲明是真實的,mCurrentStateLayout被分配1.

值。如果mCurrentStateLayout是等於0,語句是假的,mCurrentStateLayout被分配值爲0.

0

要在代碼中顯示它。這是你粘貼在這裏的代碼的模擬:

public boolean onFling(MotionEvent e1, MotionEvent e2, 
       float velocityX, float velocityY) { 
      // TODO Auto-generated method stub 
      if(velocityX<-10.0f) 
      { 
       if (mCurrentStateLayout == 0) { 
        mCurrentStateLayout = 1; 
       } else { 
        mCurrentStateLayout = 0; 
       } 
       switchLayoutStateTo(mCurrentStateLayout); 
      } 
      return true;  
     }   
    }); 
+0

好吧..知道了..謝謝! –

相關問題