android 入门 003 (点击事件)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 入门 003 (点击事件)相关的知识,希望对你有一定的参考价值。

 点击事件 有四种实现方式。

1.内部类实现方式

  1.0

package cn.rfvip.clickevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        //第一个按钮点击 内部类实现
        Button bt1=(Button) findViewById(R.id.btn1);
          bt1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO 自动生成的方法存根
                System.out.println("第一个按钮点击(方式一: 内部类实现)");
            }
        });
        
    }
    
}

 1.1.一的变形写法

 

package cn.rfvip.clickevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        //第一个按钮点击 内部类实现
        Button bt1=(Button) findViewById(R.id.btn1);
          bt1.setOnClickListener(new Mybtn1() ); 
          
    }
     class Mybtn1 implements OnClickListener{

        @Override
        public void onClick(View v) {
            // TODO 自动生成的方法存根
            System.out.println("第一个按钮点击(方式一: 内部类变形写法)");
        }}
   
}

2、this 实现

package cn.rfvip.clickevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        //第二个按钮点击 内部类实现
        Button bt2=(Button) findViewById(R.id.btn2);
          bt2.setOnClickListener(this); 
          
    }

    @Override
    public void onClick(View v) {
        // TODO 自动生成的方法存根
        System.out.println("第二个按钮点击,方式二:this 实现 implements OnClickListener");
    }
    
}

 3、无ID 实现 

   在activity_main.xml 中  android:onClick="getmeth" 

   <Button
       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击5无id实现" 
       android:onClick="getmeth"  
        />

  在 MainActivity.java中

public void getmeth(View v)
    {
        System.out.println("not Id implements  ");
        
    }

 

以上是关于android 入门 003 (点击事件)的主要内容,如果未能解决你的问题,请参考以下文章

为啥片段中的晶圆厂不响应点击事件?

android:来自片段的菜单项单击事件

Android导航抽屉点击事件问题

Android YouTube Player API Fragment无法手动处理触摸事件

android入门 — ListView点击事件

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段