像iOS一样检测几秒钟的手势

时间:2018-02-22 15:56:37

标签: android android-recyclerview

我想在我的recyclerview中添加一个手势,它会检测到5秒的点击,并在5秒后执行一个方法。

在iOS上,在Swift中,这是我的代码:

func setupLongPressGesture() {
    let longPressGesture:UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongPress))
    longPressGesture.minimumPressDuration = 1.0 // 1 second press
    longPressGesture.delegate = self as? UIGestureRecognizerDelegate
    usersTableView.addGestureRecognizer(longPressGesture)
}

@objc func handleLongPress(_ gestureRecognizer: UILongPressGestureRecognizer){

    displayProfile = false;
    navItemSelected.isHidden = false; //La nav du bas

    //On le programme en .began pour executer la methode meme si le doight est encore sur l'ecran. Le .end c'est quand le doight s'enleve de l'ecran
    if gestureRecognizer.state == .began {
        let touchPoint = gestureRecognizer.location(in: self.usersTableView)

        if let indexPath = usersTableView.indexPathForRow(at: touchPoint)?.row {
            ViewController.selectedUsers.append(users[indexPath]);
            countSelected.text = "(\(ViewController.selectedUsers.count))";
        }
    }

    usersTableView.reloadData()
}

我想要Android一样。

0 个答案:

没有答案