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

    xiaoxiao2022-07-07  188

    第一种方式是在组件的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(); } });
    最新回复(0)