首页 > 解决方案 > ShakeDetector 在 Fragment 中不起作用,我该怎么办

问题描述

我的抖动检测器无法在片段中工作。但在活动中工作。这是什么原因,我该怎么办。我该如何解决。

 @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    unbinder = ButterKnife.bind(this, view);
    presenter.takeView(this);
    Log.d(TAG, "onViewCreated: " + this);
    presenter.initListener();
    initUI();

    SensorManager sensorManager = (SensorManager) activity.getSystemService(Context.SENSOR_SERVICE);
    ShakeDetector sd = new ShakeDetector(this);
    sd.start(sensorManager);

}

我的震动检测器代码;

@Override
public void hearShake() {
          int position= listDataAdapter.getPosition();
          listDataAdapter.removeItem(position);
          UserItemPojo item = listDataAdapter.removeItem(position);
          if (item != null)
              sub_main_presenter.doLike(item);
          presenter.isEmpty();

          if (userList.isEmpty())
              homePresenter.stopPlayer();

          Toast.makeText(getContext(),"shakeDetector is working", Toast.LENGTH_LONG).show();
}

标签: javaandroidandroid-fragmentsshake

解决方案


推荐阅读