Android 学习笔记(一):四种点击事件实现方式

第一种方式是在组件的xml文件中配置android:onClick="click"属性,然后在主类中添加click方法,

public void click(View view) {
        System.out.println("hhh,我被点击了!!!");
        Toast.makeText(this,"hhh,我被点击了!!!", Toast.LENGTH_SHORT).show();
    }
下面的三种方式均先使用findViewById(R.id.button)方法先获得组件
//其中R.id.button为xml文件中button的id(android:id="@+id/button")
Button li_btn = findViewById(R.id.button);

第二种方式是通过Button组件的setOnClickListener(OnClickListener l)方法设置监听事件,然后创建自己的监听类并实现View.OnClickListener接口,重写OnClick(View view)方法。

li_btn.setOnClickListener(new myButtonListener());//设置监听事件,并传入自己创建的监听类
//自己创建的内部监听类
 class myButtonListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            System.out.println("hhh,我被点击了 2!!!");
            Toast.makeText(MainActivity.this,"hhh,我被点击了2!!!", Toast.LENGTH_SHORT).show();
        }
    }

第三种方式与第二种类似,只是自己创建的类变成了让主类(MainActivity)实现View.OnClickListener接口,然后重写OnClick(View view)方法。

//让主类实现View.OnClickListener接口
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
}
//然后给组件传入MainActivity
li_btn.setOnClickListener(this);
//重写OnClick(View view)
@Override
    public void onClick(View v) {
        System.out.println("hhh,我被点击了 3!!!");
        Toast.makeText(MainActivity.this,"hhh,我被点击了3!!!", Toast.LENGTH_SHORT).show();
    }

第四种方式根本上也与第二种方法类似,通过匿名内部类给组件传入监听事件

li_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("hhh,我被点击了 4!!!");
                Toast.makeText(MainActivity.this,"hhh,我被点击了4!!!", Toast.LENGTH_SHORT).show();
            }
        });
发布了167 篇原创文章 · 获赞 231 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_39240270/article/details/90453533