滑动在秒内不起作用 activity

Swipe does not work in second activity

秒内滑动无效 activity: 我创建了两个活动并使用 swipe library。 第一个 activity 滑动很好,但第二个不起作用。 这里有一段代码:

 private var _swipe: Swipe = Swipe();

 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_1)
    _swipe.addListener(object :SwipeListener {
         override fun onSwipedLeft(event: MotionEvent?) {
            val intent = Intent(this@FirstActivity,SecondActivity::class.java)
            startActivity(intent)
        }
    }
}

第二个 activity 具有相同的代码,但它命名为 second_activity。 首先滑动 activity 效果很好,它重定向到第二个,但然后滑动不起作用!不向左,不向右等等。

你能帮帮我吗?

第二个activity:

   public class SecondActivity :  MvpActivity<ISecondView, SecondPresenter>   (),ISecondView  {

private var _manager: PlayerManager = PlayerManager();
/**
 * Instantiate a presenter instance

 * @return The [MvpPresenter] for this view
 */
override fun createPresenter(): SelectPresenter {
    return SecondPresenter(_manager);
}

private var _swipe: Swipe = Swipe();
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_select_2)

    val realm = Realm.getDefaultInstance()

    val players = realm.where(Player::class.java).findAll()


    val arrayList = ArrayList<String>(players.size)
    for (player in players) {

            arrayList.add(player.Name);            
    }


    val adapter = ArrayAdapter(applicationContext, android.R.layout.simple_list_item_checked, arrayList)

    val lvArr = findViewById(R.id.ListView) as ListView;
    lvArr.choiceMode= ListView.CHOICE_MODE_SINGLE;
    lvArr.adapter = adapter

    lvArr.setOnItemClickListener { adapterView: AdapterView<*>, view1: View, i: Int, l: Long ->
        //select elem
    }

    _swipe.addListener(object : SwipeListener {           
        override fun onSwipedLeft(event: MotionEvent?) {
            Toast.makeText(applicationContext, "swiped left", Toast.LENGTH_SHORT).show();
            val intent=  Intent(this@SecondfActivity,ThirdActivity::class.java);
            startActivity(intent);
        }

        override fun onSwipingLeft(event: MotionEvent?) {
            Toast.makeText(applicationContext, "swiping left", Toast.LENGTH_SHORT).show();
            val intent=  Intent(this@SecondActivity,ThirdActivity::class.java);
            startActivity(intent);
        }
}
})
}
}

我删除了一些方法实现。当我尝试滑动时 - 没有任何反应。

我是您正在使用的库的作者。 您确定要在两个活动中重写 dispatchTouchEvent(event) 方法并在其中调用 swipe.dispatchTouchEvent(event) 方法吗?您没有在代码片段中提到它,但它是使一切正常工作所必需的。

  override fun dispatchTouchEvent(event: MotionEvent): Boolean {
    (swipe as Swipe).dispatchTouchEvent(event)
    return super.dispatchTouchEvent(event)
  }

有关库配置的 3 个步骤在 GitHub 上的 README.md 文件中进行了描述。

此致,

彼得