滑动在秒内不起作用 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
文件中进行了描述。
此致,
彼得
秒内滑动无效 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
文件中进行了描述。
此致,
彼得