Android实例开发中按钮(Button)的四种点击方式的实现

本文聚焦于Android开发,介绍了实现按钮点击事件的四种方式,分别是设置布局文件onclick属性、设置匿名类、在activity中实现OnClickListener接口、创建内部类。开发中可根据按钮数量选择方法,按钮多时常用后两种结合switch识别id。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按钮点击方式的实现

这里主要介绍android开发中实现按钮点击事件的四种方式:

  • 方式一:通过设置布局文件中的onclick属性实现
  • 方式二:通过设置匿名类的方式实现
  • 方式三:通过在activity中实现OnClickListener接口实现
  • 方式四:通过创建一个内部类实现

实例图片
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
activity_main
activity_button2
activity_button3
activity_button4
布局文件基本都是类似,后面就不再重复

//第一种方法是通过在布局界面设置点击属性实现按钮点击事件

public class MainActivity extends AppCompatActivity {
    private Button mbtn_one;
    private Button mbtn_skip;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mbtn_one =(Button) findViewById(R.id.btn_one);
        mbtn_skip=(Button) findViewById(R.id.btn_skip);

        mbtn_skip.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Button2Activity.class);
                startActivity(intent);

            }
        });

    }
            public void click(View v){
                 mbtn_one.setText("按钮一被点击");
                Toast.makeText(MainActivity.this,"这是使用第一种方法实现的",Toast.LENGTH_LONG).show();
    }
}

MainActivity.java

//第一种方法是通过在布局界面设置点击属性实现按钮点击事件

public class MainActivity extends AppCompatActivity {
    private Button mbtn_one;
    private Button mbtn_skip;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mbtn_one =(Button) findViewById(R.id.btn_one);
        mbtn_skip=(Button) findViewById(R.id.btn_skip);

        mbtn_skip.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,Button2Activity.class);
                startActivity(intent);

            }
        });
    }
            public void click(View v){
                 mbtn_one.setText("按钮一被点击");
                Toast.makeText(MainActivity.this,"这是使用第一种方法实现的",Toast.LENGTH_LONG).show();
    }
}

Button2Activity.java

//第二种方法通过设置匿名内部类方法实现按钮点击事件

public class Button2Activity extends AppCompatActivity {
    private Button mbtn_two;
    private Button mbtn_skip_two;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button2);

        mbtn_two = (Button) findViewById(R.id.btn_two);
        mbtn_skip_two = (Button) findViewById(R.id.btn_skip_two);

        mbtn_skip_two.setOnClickListener(new MyButton());

        mbtn_two.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mbtn_two.setText("按钮二被点击");
                Toast.makeText(Button2Activity.this, "这是用第二种方法实现的按钮点击", Toast.LENGTH_LONG).show();
            }
        });
    }

        private class MyButton implements View.OnClickListener{
            @Override
            public void onClick(View v){
                Intent intent = new Intent(Button2Activity.this,Button3Activity.class);
                startActivity(intent);
            }
        }
    }

Button3Activity

//第三种方法使用当前ACTIVITY中实现OnClickListener接口

public class Button3Activity extends AppCompatActivity  implements View.OnClickListener{

    private Button btn_three;
    private Button btn_skip_three;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button3);

        btn_three= (Button) findViewById(R.id.btn_three);
        btn_skip_three = (Button) findViewById(R.id.btn_skip_three);

        btn_three.setOnClickListener(this);
        btn_skip_three.setOnClickListener(this);

    }
    public void onClick(View v){
        switch (v.getId()){
            case R.id.btn_three:
                btn_three.setText("按钮三被点击");
                Toast.makeText(Button3Activity.this,"这是使用第三种方法实现的",Toast.LENGTH_LONG).show();
            case R.id.btn_skip_three:
                Intent intent = new Intent(Button3Activity.this,Button4Activity.class);
                startActivity(intent);
        }
    }
}

Button4Activity

//这是使用第四种方法创建一个内部类

public class Button4Activity extends AppCompatActivity {
    private Button btn_four;
    private Button btn_skip_four;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button4);
        btn_four = (Button) findViewById(R.id.btn_four);
        btn_skip_four = (Button) findViewById(R.id.btn_skip_four);
        btn_four.setOnClickListener(new MyMethod());
        btn_skip_four.setOnClickListener(new MyMethod());

    }
    private class MyMethod implements View.OnClickListener{
        @Override
        public void onClick(View v){
            switch (v.getId()) {
                case R.id.btn_four:
                    btn_four.setText("按钮四被点击");
                    Toast.makeText(Button4Activity.this,"这是使用第四种方法实现的",Toast.LENGTH_LONG).show();
                    break;
                case R.id.btn_skip_four:
                    Intent intent = new Intent(Button4Activity.this,MainActivity.class);
                    startActivity(intent);
            }
        }
    }
}

四种方法在开发中都会用到,主要是分按钮的数量来选择,通常按钮多时选择使用第三种和第四种方法通过switch方法识别id的方法实现按钮的选择点击事件。

【评论需要解决的问题或者文章中的不恰当的地方,接受改正】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值