Android onClick响应方式(四种)

来源:互联网 发布:网络推广水军 编辑:程序博客网 时间:2024/06/05 00:16

Android 点击事件响应

  • Android 点击事件响应
      • 布局文件中button添加OnClick 函数
        • 布局文件
        • Activity 中重写监听方法
      • Activity 实现 ViewOnClickListener
        • 实现系统监听
        • 监听响应函数
      • 监听 设置new ViewOnClickListener
        • 直接为button指定监听
      • 使用new 监听类 为Button 设置
        • 创建监听类
        • Button指定监听

使用四种方式响应点击事件:效果图

Image Title

1. 布局文件中button添加OnClick 函数

1. 布局文件

<Button            android:id="@+id/bt_1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:onClick="buttonAction"            android:text="绘制圆环图" />

2. Activity 中重写监听方法

    //第一种方式响应点击事件:xml 中按钮添加onclick 属性    public void buttonAction(View view) {        Toast.makeText(this, "按钮1", Toast.LENGTH_SHORT).show();    }

2. Activity 实现 View.OnClickListener

1. 实现系统监听

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bt_2 = (Button) findViewById(R.id.bt_2);        bt_2.setOnClickListener(this);//this     }}

2. 监听响应函数

    //第二种方式响应点击事件:当前Activity 实现onclik 方法    @Override    public void onClick(View v) {        if (v == bt_2) {            Toast.makeText(this, "按钮2", Toast.LENGTH_SHORT).show();        }    }

3. 监听 设置new View.OnClickListener()

直接为button指定监听

直接

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bt_3 = (Button) findViewById(R.id.bt_3);        //第三种方式:使用运行是监听类        bt_3.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this, "按钮3", Toast.LENGTH_SHORT).show();            }        });    }

4. 使用new 监听类 为Button 设置

1. 创建监听类

    class ButtonLister implements View.OnClickListener {        @Override        public void onClick(View v) {            Toast.makeText(MainActivity.this, "按钮4", Toast.LENGTH_SHORT).show();        }    }

2. Button指定监听

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //第四种方式:创建监听类 事项监听方法        bt_4 = (Button) findViewById(R.id.bt_4);        bt_4.setOnClickListener(new ButtonLister());    }
原创粉丝点击