android实现单击事件的三种方式总结

        my GIT : https://github.com/hejiawang       

       在android开发中,在不同的场景,不同的代码组织中,实现单击事件的形式不同,以下是android开发实现单击事件的三种形式。

       1、第一种是在xml界面直接声明onClick的值,比如:

<Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="enter"
        android:text="确认" />

     在上面的代码中声明了onClick="enter",那么在加载这xml文件的activity中,就要用如下代码实现单击事件:

public void enter(View view) {
	
        //do somthing...
}

 注意,方法名是onClick="enter"中的enter,方法参数必须是View view,这是第一种形式

2、第二种是通过匿名内部类的形式实现单击事件,比如在xml文件中有如下代码:

<Button
        android:id="@+id/enter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="确认" />

 那么,在加载这个xml文件的activity中就可以用如下代码实现单击事件:

Button enter = (Button)findViewById(R.id.enter);
enter.setOnClickListener(new OnClickListener() {
			
	@Override
	public void onClick(View v) {
		//do somthing
	}
});

3、第三种是让加载xml文件的activity继承OnClickListener接口,

  比如xml文件中的代码:

<Button
        android:id="@+id/enter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="确认" />

在activity中可以用如下代码实现单击事件:

public class MainActivity extends Activity implements OnClickListener {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button enter = (Button)findViewById(R.id.enter);
		enter.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.enter:
			//do somthing
			break;
		}
	}
}

  

上面的onClick方法就是实现的单击事件

这三种实现单击事件的方式各有千秋,在不同场景中会各有优势。

相关推荐