Android CardView OnClick被调用两次
我正在使用具有以下属性的CardViewAndroid CardView OnClick被调用两次,android,android-layout,android-cardview,Android,Android Layout,Android Cardview,我正在使用具有以下属性的CardViewandroid:前台=“?android:attr/selectableItemBackground” 而且我已经设置了一个监听器 当我快速点击卡片两次时,onClick方法会被调用两次。(我想这是因为连锁反应) 我怎样才能防止呢 谢谢你这不是因为连锁反应,因为你快速点击两次,然后点击事件将被调用两次,所以为了防止出现这种情况,请尝试下面的代码 private long mLastClickTime = 0; card_view.setOnClickL
android:前台=“?android:attr/selectableItemBackground”
而且我已经设置了一个监听器
当我快速点击卡片两次时,onClick方法会被调用两次。(我想这是因为连锁反应)
我怎样才能防止呢
谢谢你这不是因为连锁反应,因为你快速点击两次,然后点击事件将被调用两次,所以为了防止出现这种情况,请尝试下面的代码
private long mLastClickTime = 0;
card_view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// double-click prevention, using threshold of 1500 ms(1.5 second)
if (SystemClock.elapsedRealtime() - mLastClickTime < 1500){
return;
}
mLastClickTime = SystemClock.elapsedRealtime();
// do your code here
}
});
private long mLastClickTime=0;
card_view.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
//双击预防,使用1500毫秒(1.5秒)的阈值
if(SystemClock.elapsedRealtime()-mLastClickTime<1500){
返回;
}
mLastClickTime=SystemClock.elapsedRealtime();
//请在这里输入您的代码
}
});
这是什么问题?如果您设置了clicklistener并单击了两次,显然它会被调用两次。不过,若要防止这种情况发生,可以保留单击的计数器,并在达到1个以上时从onClick()方法返回。如果我缺少任何内容,请告知我我已将我的事件设置为打开一个新活动,但当我在ripple动画完成前再次单击时,会创建另一个活动,这是我的应用程序的一个错误。请将代码粘贴到此处?@Override public void onClick(视图){Intent Intent=new Intent(MainActivity.this,ProductGroupDetailActivity.class);Intent.putExtra(ProductGroupDetailActivity.EXTRA_PRODUCT_GROUP_NUMBER,(Integer)view.getTag(R.id.tag_productGroupNumber));MainActivity.this.startActivity(Intent);}@M.Kasaei,Welcome mate:)但还有一个问题,为什么我双击视图时应用程序关闭?@M.Kasaei,它是崩溃还是只是应用程序关闭?只是关闭应用程序,然后当我再次打开时,这将从我开始继续want@M.Kasaei,请检查代码,可能有部分导致关闭应用程序,请发布cardvi的内部代码ew点击事件。