第一种方式是在组件的xml文件中配置android:onClick="click"属性,然后在主类中添加click方法,
public void click(View view) { System.out.println("hhh,我被点击了!!!"); Toast.makeText(this,"hhh,我被点击了!!!", Toast.LENGTH_SHORT).show(); }第二种方式是通过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(); } });