按钮长按点击监听器

按钮长按点击监听器,通过setOnLongClickListener()方法设置,当按钮被长按超过500ms时,会触发此点击事件。

xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".LongClickListenerActivity">

    <Button
        android:id="@+id/btn_long_click"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="设置按钮长按点击事件" />

    <TextView
        android:id="@+id/tv_result"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="5dp"
        android:text="此处查看点击结果" />

</LinearLayout>

 

Java代码

 

public class LongClickListenerActivity extends AppCompatActivity {

    TextView tv_result;
    Button btn_long_click;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_long_click_listener);

        tv_result = findViewById(R.id.tv_result);
        btn_long_click = findViewById(R.id.btn_long_click);

        btn_long_click.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {

                String desc = String.format("%s 点击了按钮 %s", DateUtil.getNowDate(), ((Button) v).getText());
                tv_result.setText(desc);
                return true;//此处返回值true,表示长按事件不再继续向父控件传递;false,表示长按事件继续向父控件传递
            }
        });
    }
}

 

posted @ 2022-08-29 21:36  六味地黄丸  阅读(126)  评论(0编辑  收藏  举报