Android onClick响应方式(四种)

Android 点击事件响应

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

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

Android onClick响应方式(四种)_第1张图片

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());

    }

你可能感兴趣的:(学习笔记,android,布局)