安卓点击事件的四种写法

版权所有,禁止匿名转载;禁止商业使用。

1、类似java,得到组件,在添加监听,注意这里和java的方法有些不一样


@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //获得按钮,添加监听器
    //必须给按钮添加一个id
    //强制转型为Button
     Button btn = (Button) findViewById(R.id.loginbtn);
     MyOnclickListener ml = new MyOnclickListener();
     btn.setOnClickListener(ml);
  }
  class MyOnclickListener implements OnClickListener{
    @Override
    public void onClick(View v) {
      Toast.makeText(MainActivity1.this, "点击了按钮", 5).show();
    }
  }

2、利用匿名内部类,这和java是一样的


//获得按钮,添加监听器
       //使用匿名内部类
       Button btn = (Button) findViewById(R.id.loginbtn);
     
       btn.setOnClickListener(new OnClickListener() {
    
    @Override
    public void onClick(View v) {
      Toast.makeText(MainActivity2.this, "点击了按钮", 5).show();
      
    }
  });

3、activity实现onclicklistener接口


//实现监听器接口
public class MainActivity extends Activity implements OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
   //找到按钮,设置监听器,现在activity也是一个监听器
     Button btn  =(Button)findViewById(R.id.loginbtn);
     btn.setOnClickListener(this);
    }
  @Override
  public void onClick(View v) {
    Toast.makeText(this, "点击了按钮", 5).show();
  }
}

4、利用onclick属性,注意xml的写法,和方法一样要有View参数


//利用按钮的onclick属性
    public void loginclick(View v){
    Toast.makeText(this, "点击了按钮", 5).show();
    }
 <Button 
        android:id="@+id/loginbtn"
        android:onClick="loginclick"
         android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/loginbtn"
        
        />


0 0