Двойной прослушиватель не работает во фрагменте. Во-первых, я написал и реализовал примерный проект, который отлично работает в образце проекта. В примере проекта есть только одно действие. Но когда я пытаюсь интегрировать этот образец кода в свой проект, он не работает нормально. Мой реальный проект имеет активность, которая загружает фрагмент на нем. Моим требованием является то, что я дважды нажимаю любое место на этом фрагменте (загруженном на активность). Я хочу, чтобы с ним была некоторая функциональность. Проблема заключается в двойном нажатии, не работает. Вот код, который я использую для Добейся этого.Двойной прослушиватель не работает во фрагментах
@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 к. Любая помощь пожалуйста.
Я хочу, чтобы весь экран использовался в качестве двойного прослушивателя. Где я должен реализовать? Макет кадра, который загружает фрагмент. Должен ли я передать это на кликлайнер? –
Да, вы должны написать что-то вроде этого: rootLayout.setOnClickListener (новый DoubleClickListener() {....}); –
Все еще не работает :( –