按钮长按点击监听器
按钮长按点击监听器,通过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,表示长按事件继续向父控件传递 } }); } }