Android Button 单击事件

简介:

方法一:在XML文件中指定 单击事件函数

<Button
            android:id="@+id/button1"
            android:layout_width="120dip"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="59dp"
            android:onClick="onclicklistener"
            android:text="@string/mybuttonstr" />

然后在代码中实现这个函数。注意,函数需要public 要不会异常。

 public void onclicklistener(View tager)
    {
          TextView textView1 =(TextView)findViewById(R.id.textView1);
textView1.setText("西安.王磊");
    }

 

方法二:

在activity 的onCreate 中 找到button,然后给它赋上事件监听器。这个方式非常普遍。

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button but=(Button)this.findViewById(id.button1);
        
        
        but.setOnClickListener(new OnClickListener() {
            
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.v("MyTag", "onClick");
            }
        });
    }

 

方法三:

这个方法其实是方法二的变种。就是提前定义一个OnClickListener 的handler,然后可以将这个activity中所有的button多使用这个handler,通过判断不同id来进行不同的逻辑。这个方式适合比较多的button的情况使用。

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        View.OnClickListener handler=new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                switch (v.getId()){
                case id.button1:
                    Log.v("MyTag", "Button1 OnClick");
                    break;
                case id.button2:
                    Log.v("MyTag", "Button2 OnClick");
                    break;
                }
                
            }
            
        };
        
        Button btn1=(Button)this.findViewById(id.button1);
        Button btn2=(Button)this.findViewById(id.button2);
        
        btn1.setOnClickListener(handler);
        btn2.setOnClickListener(handler);

}




本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/archive/2012/12/07/2806655.html,如需转载请自行联系原作者


目录
相关文章
|
Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
Android面试高频知识点(1) 图解 Android 事件分发机制
193 1
|
Android开发
Android 事件分发机制详细解读
Android 事件分发机制详细解读
242 5
|
XML 前端开发 Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
528 9
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
开发工具 Android开发
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
147 0
|
XML Android开发 数据格式
37. 【Android教程】基于监听的事件处理机制
37. 【Android教程】基于监听的事件处理机制
316 2
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
509 2
|
XML Android开发 数据格式
Android下自定义Button样式
Android下自定义Button样式
141 3