在android开发中,在不同的场景,不同的代码组织中,实现单击事件的形式不同,以下是android开发实现单击事件的三种形式。
1、第一种是在xml界面直接声明onClick的值,比如:
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文件中有如下代码:
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文件中的代码:
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方法就是实现的单击事件
这三种实现单击事件的方式各有千秋,在不同场景中会各有优势。