安卓_在同一个active中设置多个监听

来源:互联网 发布:js excel.application 编辑:程序博客网 时间:2024/06/05 19:54
  • 五 31 / 2012
  • 暂无评论
  • Android,ButtonListener
  • 浏览次数:550
andoird_logo
Android

Android常见的按钮监听器实现方式

为按钮(Button)添加响应事件,需要为其设置监听器(Listener)。本文总结了Android中常用的几种Button Listener。

一.使用匿名内部类

Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new OnClickListener {public void onClick(View v) {System.out.println("使用匿名内部类创建按钮监听器");}});

二.使用内部类

public class ButtonListener extends Activity {public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);           setContentView(R.layout.main);   Button button = (Button)findViewById(R.id.button);   MyListener myListener = new MyListener();   button.setOnClickListener(myListener);        }        class MyListener implements OnClickListener {   public void onClick (View v){System.out.println("使用内部类创建按钮监听器");   }        }}

三.使用外部类

public class ButtonListener extends Activity {......Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new ButtonListener());}public class ButtonListener implements OnClickListener {public void onClick (View v){System.out.println("使用外部类创建按钮监听器");}}例子2:
Baby_Bonnie
Baby_Bonnie 非常感谢你的答案,简洁明了!
2 年多之前 回复
LiDaming_and
LiDaming_and  

您可以使用一个没有定义为匿名内部类的处理程序。但这个类得是一个单独的类。onClick()将会传递视图,你可以在onClick()中选择。

public class MyActivity implements OnClickListener {    public void onClick(View v) {       Button b = (Button)v;       // do what you want     }    ...}

然后在你的layout.xml放入每个按钮

<Button android:id=".."        android:onClick="onClick"
2012.11.06 17:23 举报 | 评论 0 | |
0
hcg_21
hcg_21  

你可以在一个类中处理它们,然后实现OnClickListener事件。或在该Activity中添加:

import android.view.View.OnClickListener;   public class MyActivity extends Activity implements OnClickListener {      @Override public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         Button buttonA = (Button) findViewById(R.id.buttonA);             buttonA.setOnClickListener(this);         Button buttonB = (Button) findViewById(R.id.buttonB);          buttonB.setOnClickListener(this);      }   //......   public void onClick(View v) {      switch (v.getId()) {         case R.id.buttonA:           //......          break;         case R.id.buttonB:          // ......          break;      }   }}



四.绑定到标签

在布局文件中为Button控件添加属性:

android:onClick="ButtonListener"

然后在java中定义ButtonListener方法

public void ButtonListener (View source) {System.out.println("使用标签属性创建按钮监听器");}更新: 在AndroidStudio中,处理onClick事件可以在控件的属性窗口中为onClick指定方法。
0 0
原创粉丝点击