Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android CardView OnClick被调用两次_Android_Android Layout_Android Cardview - Fatal编程技术网

Android CardView OnClick被调用两次

Android CardView OnClick被调用两次,android,android-layout,android-cardview,Android,Android Layout,Android Cardview,我正在使用具有以下属性的CardViewandroid:前台=“?android:attr/selectableItemBackground” 而且我已经设置了一个监听器 当我快速点击卡片两次时,onClick方法会被调用两次。(我想这是因为连锁反应) 我怎样才能防止呢 谢谢你这不是因为连锁反应,因为你快速点击两次,然后点击事件将被调用两次,所以为了防止出现这种情况,请尝试下面的代码 private long mLastClickTime = 0; card_view.setOnClickL

我正在使用具有以下属性的CardView
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点击事件。