Android 一種優(yōu)雅的方式避免用戶快點(diǎn)擊(Databinding)

Android 一種優(yōu)雅的方式避免用戶快點(diǎn)擊(Databinding)? ?https://blog.csdn.net/xuehuayous/article/details/79460001

在使用Androidx的databing時(shí),在項(xiàng)目中添加以下ViewBindingAdapter.java 代碼,即可解決用戶快速點(diǎn)擊的問(wèn)題

public class ViewBindingAdapter {

@BindingAdapter({"android:onClick","android:clickable"})

public static void setOnClick(View view, View.OnClickListener clickListener,

boolean clickable) {

setOnClick(view, clickListener);

view.setClickable(clickable);

}

@BindingAdapter({"android:onClick"})

public static void setOnClick(View view,final View.OnClickListener clickListener) {

final long[] mHits =new long[2];

view.setOnClickListener(new View.OnClickListener() {

@Override

? ? ? ? ? ? public void onClick(View v) {

System.arraycopy(mHits,1,mHits,0,mHits.length -1);

mHits[mHits.length -1] = SystemClock.uptimeMillis();

if (mHits[0] < (SystemClock.uptimeMillis() -500)) {

clickListener.onClick(v);

}else {

Log.i(Cons.TAG,"誤觸");

}

}

});

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容