Android中Button的五种监听事件
2016-12-26 21:14
309 查看
简单聊一下Android中Button的五种监听事件:
MyButtonListener.class
1.在布局文件中为button添加onClick属性,Activity实现其方法 2.匿名内部类作为事件监听器类 3.内部类作为监听器 4.Activity本身作为事件监听器,实现onClickListener 5.外部类作为监听器
ButtonListenerActivity.class
public class ButtonListenerActivity extends AppCompatActivity implements View.OnClickListener{ private Button bt_one,bt_two,bt_three,bt_four,bt_five; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button_listener); bt_two = (Button) findViewById(R.id.bt_listener_two); bt_three = (Button) findViewById(R.id.bt_listener_three); bt_four = (Button) findViewById(R.id.bt_listener_four); bt_five = (Button) findViewById(R.id.bt_listener_five); //方式二:匿名内部类作为事件监听器类 bt_two.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ButtonListenerActivity.this,"方式二:匿名内部类",Toast.LENGTH_LONG).show(); } }); //方式三:内部类作为事件监听器类 MyButton listener = new MyButton(this); bt_three.setOnClickListener(listener); //方式四:Activity本身作为事件监听器,实现onClickListener bt_four.setOnClickListener(this); //方式五:外部类作为事件监听器类 bt_five.setOnClickListener(new MyButtonListener(this)); } //1.方式一:在布局文件中为button添加onClick属性,Activity实现其方法 public void buttonClick(View view){ Toast.makeText(ButtonListenerActivity.this,"方式一:onClick",Toast.LENGTH_LONG).show(); } //方式四:Activity本身作为事件监听器,实现onClickListener--重写onClick() @Override public void onClick(View v) { Toast.makeText(ButtonListenerActivity.this,"方式四:Activity本身作为事件监听器",Toast.LENGTH_LONG).show(); } //方式三:内部类作为事件监听器类 class MyButton implements View.OnClickListener{ private Context context; public MyButton(Context context){ this.context = context; } @Override public void onClick(View v) { Toast.makeText(context,"方式三:内部类",Toast.LENGTH_LONG).show(); } } }
activity_button_listener.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.langdon.taiyang.androidtest.button.ButtonListenerActivity"> <Button android:id="@+id/bt_listener_one" android:text="方式一:onClick绑定" android:onClick="buttonClick" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_listener_two" android:text="方式二:匿名内部类" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_listener_three" android:text="方式三:内部类监听" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_listener_four" android:text="方式四:Activity本身实现监听事件" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_listener_five" android:text="方式五:外部类作为监听" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
MyButtonListener.class
public class MyButtonListener implements View.OnClickListener { private Context context; public MyButtonListener(Context context){ this.context = context; } @Override public void onClick(View v) { Toast.makeText(context,"方式五:外部类",Toast.LENGTH_LONG).show(); } }
相关文章推荐
- android 中 Button 的监听事件的多种实现方式
- Android监听Button等控件的点击事件的三种方法
- android 监听Button点击的事件的方式
- Android LinearLayout 嵌套 button 监听LinearLayout的onClickListener事件出现问题
- 蓝牙耳机 事件监听 android.intent.action.MEDIA_BUTTON(二)
- android多个button监听点击事件-法二
- Android开发-之监听button点击事件
- 在android 中利用button 按钮设置监听事件
- Android开发之Button事件实现与监听方法总结
- android Button 的按下和抬起事件监听
- Android 同时监听多个Button事件
- 2-10 Android Button监听事件的四种方法(三)
- android中ListView中在Adapter中为Button设置监听事件方法--跳转Activity
- Android开发之button事件监听简单实例
- Android开发-之监听button点击事件的多种方法
- Android按钮的五种点击监听事件处理
- Android Button2.监听事件
- Android点击Button按钮的四种事件监听方法总结
- Android——Button的监听事件(自己动手 丰衣足食)
- Android为Button按钮添加监听事件的几种方式