设置Button监听事件的三种方式

    xiaoxiao2021-03-25  127

    设置Button监听事件的三种方式

    三种Button监听事件设置方法

    匿名内部类外部类接口方式

    匿名内部类

    直接创建匿名内部类。

    loginButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 在此处监听 System.out.println("我的按钮被点击了"); } });

    外部类

    新建一个外部类,实现OnClickListener接口,并重写onClick方法。

    class MyOnClickListener implements OnClickListener{ @Override public void onClick(View v) { Log.i("tag", "???"); } }

    然后在OnCreate函数中,创建该对象实例并使用。

    MyOnClickListener listener = new MyOnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub super.onClick(v); Toast.makeText(MainActivity.this, "!!!", 1).show(); } } loginButton.setOnClickListener(listener);

    在事件响应过程中,先执行在创建对象实例时重写的onClick方法,后执行类中的onClick方法。即,先执行

    Toast.makeText(MainActivity.this, "!!!", 1).show();

    然后执行

    Log.i("tag", "???");

    接口方式

    接口方式需要Activity类实现OnClickListener接口,并重写onClick方法。

    public class MainActivity extends Activity implements OnClickListener{ private ImageButton imageButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //将布局XML文件引入到activity中 setContentView(R.layout.activity_main); /* * 初始化当前所需要控件 * findViewById--返回一个View对象,对其强制类型转换。 * */ imageButton = (ImageButton)findViewById(R.id.imageButton1); imageButton.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub Log.i("tag", "接口实现"); } }
    转载请注明原文地址: https://ju.6miu.com/read-24954.html

    最新回复(0)