我想問幾個關於這段代碼的問題。我需要幫助,請新手上的手勢
問題:
爲什麼他們實現姿態探測器接口這樣
GestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener
這是我第一次看到接口這樣3210
他們爲什麼要初始化o從界面的對象?
僅當我們使用匿名類時才能完成它嗎?
爲什麼他們使用(手勢檢測器緊湊)而不是(手勢檢測器)?
我無法理解(this)指的是什麼。
任何人都可以解釋給我看? 如何在不使用(this)關鍵字的情況下初始化對象?也是這行代碼
myGesture.setOnDoubleTapListener(this);
我不明白它的存在的意義
代碼:
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener {
private TextView textView1;
private GestureDetectorCompat myGesture;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1= (TextView) findViewById(R.id.textView1);
myGesture=new GestureDetectorCompat(this,this);
myGesture.setOnDoubleTapListener(this);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.myGesture.onTouchEvent(event);
}
@Override
public boolean onSingleTapConfirmed(MotionEvent motionEvent) {
textView1.setText(" onSingleTapConfirmed");
return true;
}
@Override
public boolean onDoubleTap(MotionEvent motionEvent) {
textView1.setText("onDoubleTap");
return true;
}
@Override
public boolean onDoubleTapEvent(MotionEvent motionEvent) {
textView1.setText("onDoubleTapEvent");
return true;
}
@Override
public boolean onDown(MotionEvent motionEvent) {
textView1.setText("onDown");
return true;
}
@Override
public void onShowPress(MotionEvent motionEvent) {
textView1.setText("onShowPress");
}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
textView1.setText(" onSingleTapUp");
return true;
}
@Override
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
textView1.setText(" onScroll");
return true;
}
@Override
public void onLongPress(MotionEvent motionEvent) {
textView1.setText(" onLongPress");
}
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
textView1.setText("onFling");
return true;
}
}
我搜索關於這些問題,我不」找到有用的東西。
有人可以解釋我嗎?
您是否閱讀過有關這些方法的文檔?並且該類爲GestureDetector實現了這兩個接口,那有什麼問題?用'this'代碼更清晰,而不是匿名類 –
哪一個可以閱讀,我不明白它是令人困惑的文檔 –
看看使用的類。閱讀方法參數和說明。它只是JavaDoc,所以如果你理解Java,那麼你就是這樣學習什麼方法做什麼的。 https://developer.android.com/reference/android/support/v4/view/GestureDetectorCompat.html –