zoukankan      html  css  js  c++  java
  • 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
       {  
     
    @Override
    public boolean onLongClick(View v)
    {
    Toast.makeText(getApplicationContext(), "长按事件", Toast.LENGTH_SHORT).show();
    return true;
    }
       
       }
       
       class MyOnTouchListener implements OnTouchListener
       {
    
    
    @Override
    public 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;
    }   
       }
    }
  • 相关阅读:
    vue后台管理系统项目
    javascript面试题
    webpack学习
    js全局变量收集器
    Koa2框架token验证
    require.js使用
    Koa2中使用art-template模板和静态资源托管
    Koa2POST请求参数
    H5、C3、ES6的新特性
    H5视频播放
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4221698.html
Copyright © 2011-2022 走看看