安卓点击事件的四种写法

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"
??????? 
??????? />

?

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。