0
雙擊偵聽器不能在碎片中工作。首先,我編寫並實現了在示例項目中工作正常的示例項目。示例項目中只有一個活動。但是,當我試圖將示例代碼集成到我的項目中時,它不能正常工作。我的真實項目有一個活動,它正在加載一個片段。我的要求是當我雙擊任何地方的片段(加載活動)我想要一些功能反對它。問題是雙擊不工作。這裏是我正在使用的代碼實現這一目標。雙擊偵聽器不能在碎片中工作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// If user is not logged in
if (new SessionHelper(this).getCurrentUser() <= 0)
startActivity(new Intent(this, LoginScreen.class));
else {
mFragmentActivity = this;
// Broadcast receiver initialized here
mWifiStateReceiver = new WifiStateReceiver(mFragmentActivity);
setContentView(R.layout.activity_fragment);
initialize();
setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
getSupportActionBar().setDisplayShowTitleEnabled(false);
setClickListerns();
gestureDetector = new GestureDetector(this, this);
gestureDetector.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() {
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
LogHelper.debugLog("single tap");
return false;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
LogHelper.debugLog("doubletap");
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
return false;
}
});
// Check if redirected via push notification
if (getIntent().getExtras() != null && getIntent().getExtras().getBoolean("Notification", false))
replaceFragemtn(new StatementOfAccount(), false);
else
replaceFragemtn(new HomeFragment(), false);
}
}
我實現GestureDetector.OnGestureListener在我的活動這樣
public class FragmentActivity extends BaseClass
implements View.OnClickListener, GestureDetector.OnGestureListener {}
,我重寫的onTouchEvent()方法這樣
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
我不能去弄清楚我所缺少的東西。試着解決這個問題很長一段時間,但沒有luc ķ。請任何幫助。
我想要完整的屏幕作爲雙擊偵聽器。我應該在哪裏實現?正在加載fragment的框架佈局。我是否應該在clicklistener上傳遞它? –
是的,你應該寫這樣的東西:rootLayout.setOnClickListener(new DoubleClickListener(){....}); –
仍然不工作:( –