关于点击事件有几种不同的实现方法:
1,匿名内部类:
//实例化控件
mButtonNew = (Button) findViewById(R.id.bt_news);
//控件的点击事件使用内部类
mButtonNew.setOnClickListener(new OnClickListener() {
//重写onClick 方法
@Override
public void onClick(View v) {
//响应点击事件调转界面
startActivity(new Intent(MainActivity.this,NewsActivity.class));
}
});
2,实现 OnClickListener 接口:
public class MainActivity extends Activity implements OnClickListener{
private Button mButtonNew;
private Button mButtonImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化控件
mButtonImage = (Button) findViewById(R.id.bt_image);
//控件的点击事件监听
mButtonImage.setOnClickListener(this);
}
//重写的onClick 方法
@Override
public void onClick(View paramView) {
switch (paramView.getId()) {
//根据ID响应点击事件
case R.id.bt_image:
startActivity(new Intent(MainActivity.this,ImageActivity.class));
break;
default:
break;
}
}
3,在控件上注册点击:<!-- 在控件上注册点击 -->
<Button
android:onClick="click"
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一个" />
// 在类里实现click方法
public void click(View v) {
startActivity(new Intent(getApplicationContext(), OneActivity.class));
}
4.内部类:
public class MainActivity extends Activity {
private Button buttontwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttontwo = (Button) findViewById(R.id.bt2);
//注册一个点击事件的监听并实例化一个MyOnClickListener()
buttontwo.setOnClickListener(new MyOnClickListener());
}
//生成MyOnClickListener这个类并实现OnClickListener接口
public class MyOnClickListener implements OnClickListener{
//重写onClick方法
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), TwoActivity.class));
}
}
}
5.第五种:实例化一个OnClickListener得到参数MyOnClickListener
public class MainActivity extends Activity {
private Button buttonthree;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonthree = (Button) findViewById(R.id.bt3);
//注册一个点击事件的监听传入一个抽象的参数
buttonthree.setOnClickListener(myOnClickListener);
}
//实例化一个OnClickListener得到参数MyOnClickListener
OnClickListener myOnClickListener = new OnClickListener(){
//响应点击实现跳转
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), ThreeActivity.class));
}
}
无论用上面哪一种方法实现点击事件都要记住一下几个步骤:
1.初始化控件
2.给控件设置点击事件的监听
3.响应点击事件。