首页 > 代码库 > Android Button事件处理
Android Button事件处理
一般只需要处理按钮的点击事件就可以,但想让一个按钮处理多个事件,就得同时监听多个方法。
OnClickListener 点击事件
OnLongClickListener 长按事件
OnTouchListener 触摸事件
同事监听三个事件,只有 OnTouchListener 会被触发。
package demo.button;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.MotionEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnCreateContextMenuListener;import android.view.View.OnLongClickListener;import android.view.View.OnTouchListener;import android.widget.Button;import android.widget.Toast;public class TestButtonActivity extends Activity{ Button test = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); test = (Button) findViewById(R.id.test); test.setOnClickListener(new MyOnClickListener()); test.setOnLongClickListener(new MyOnLongClickListener()); test.setOnTouchListener(new MyOnTouchListener()); } class MyOnClickListener implements OnClickListener { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "单击事件", Toast.LENGTH_SHORT).show(); } } class MyOnLongClickListener implements OnLongClickListener { @Overridepublic boolean onLongClick(View v){Toast.makeText(getApplicationContext(), "长按事件", Toast.LENGTH_SHORT).show();return true;} } class MyOnTouchListener implements OnTouchListener {@Overridepublic boolean onTouch(View v, MotionEvent event){if (event.getAction() == MotionEvent.ACTION_DOWN){ Toast.makeText(getApplicationContext(), "按下按钮事件", Toast.LENGTH_SHORT).show();} if (event.getAction() == MotionEvent.ACTION_UP){Toast.makeText(getApplicationContext(), "弹起按钮事件", Toast.LENGTH_SHORT).show();} //返回true 表示事件处理完毕,会中断系统对该事件的处理。false 系统会同时处理对应的事件return true;} }}
Android Button事件处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。