美文网首页
安卓避免按钮重复点击

安卓避免按钮重复点击

作者: zbmzly | 来源:发表于2017-09-05 14:36 被阅读0次

新建OnOneOffClickListener.java

public abstract class OnOneOffClickListener implements View.OnClickListener {
    private boolean clickable = true;

    /**
     * Override onOneClick() instead.
     */
    @Override
    public  void onClick(View v) {
        if (clickable) {
            clickable = false;
            onOneClick(v);
            //reset(); // uncomment this line to reset automatically
        }
    }

    /**
     * Override this function to handle clicks.
     * reset() must be called after each click for this function to be called
     * again.
     * @param v
     */
    public abstract void onOneClick(View v);

    /**
     * Allows another click.
     */
    public void reset() {
        clickable = true;
    }
}

xml页面文件

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <variable
            name="orderHandler"
            type="com.***.OnOneOffClickListener" />
    </data>
........
    <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:onClick="@{orderHandler::onClick}"
            android:text="@string/commit_buy" />
........
</layout>

Activity/Fragment文件

 mBinding.setOrderHandler(new OnOneOffClickListener() {
            @Override
            public void onOneClick(View v) {
               ....
               reset();
               ....
           }
 });

相关文章

网友评论

      本文标题:安卓避免按钮重复点击

      本文链接:https://www.haomeiwen.com/subject/djbujxtx.html