我想问几个关于这个代码的问题。我需要帮助,拜托
问题:
GestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener来实现手势检测器接口?
这是我第一次看到这样的界面myGesture=new GestureDetectorCompat(this,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;
}
}我搜索了这些问题,没有发现任何有用的东西。
有人能解释我吗?
发布于 2016-08-19 11:31:19
GestureDetectorCompat (上下文,GestureDetector.OnGestureListener侦听器)
活动是一个上下文和一个GestureDetector.OnGestureListener,所以这说明了(this, this)。
void setOnDoubleTapListener (GestureDetector.OnDoubleTapListener侦听器)
该接口也在活动上实现,因此再次使用this。
有人可以解释并初始化没有(this)关键字的对象吗?
当然可以,但是内部的匿名类会得到嵌套的所有代码,而且看起来很混乱。
这一行代码myGesture.setOnDoubleTapListener(这里);无法理解它的存在有什么意义
它的意义?它探测到一个双击..。
https://stackoverflow.com/questions/39037472
复制相似问题