简易的按钮事件(Button的4中事件处理)

简易的按钮事件(Button的4中事件处理)

新建一个继承Activity类的ButtonClickActivity,并设置布局文件为:buttonclick.xml。

在布局文件中定义4个Button组件

    <Button

        android:id="@+id/buttonclick_btn1"

        style="@android:style/Widget.Button.Inset"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:onClick="onClick"

        android:text="@string/buttonclick_btn1" />

 

    <Button

        android:id="@+id/buttonclick_btn2"

        style="@android:style/Widget.Button.Inset"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/buttonclick_btn2" />

 

    <Button

 

        android:id="@+id/buttonclick_btn3"

        style="@android:style/Widget.Button.Inset"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/buttonclick_btn3" />

    <Button

        android:id="@+id/buttonclick_btn4"

        style="@android:style/Widget.Button.Inset"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/buttonclick_btn4" />

 

第一个Button比其他3个Button多了一个属性:android:onClick="onClick"使用了此属性后就要在代码中定义一个onClick()方法,里面传入一个View对象。

public void onClick(View view) {

       switch (view.getId()) {

       case R.id.buttonclick_btn1:

           Button btn1 = (Button) view;

           Toast.makeText(ButtonClickActivity.this, btn1.getText(),

                  Toast.LENGTH_SHORT).show();

           break;

       }

    }

之后只要点击了Button就会执行这个onClick方法。

在处理Button2的时候,先通过布局文件来实例化Button2,而后为Button2注册监听事件setOnClickListener()。里面传入一个OnClickListener对象即可。

       findViewById(R.id.buttonclick_btn2).setOnClickListener(new OnClickListener() {

          

           @Override

           public void onClick(View view) {

              Button btn1 = (Button) view;

              Toast.makeText(ButtonClickActivity.this, btn1.getText(),

                     Toast.LENGTH_SHORT).show();

           }

       });

 

 

而Button3,先让Acitivity类实现OnClickListener这个接口,后覆写onClick()方法。

package lyx.feng.simpletextdemo;

......

public class ButtonClickActivity extends Activity implements OnClickListener {

    .....

    public void onClick(View view) {

       switch (view.getId()) {

        case R.id.buttonclick_btn3:

           Button btn3 = (Button) view;

           Toast.makeText(ButtonClickActivity.this, btn3.getText(),

                  Toast.LENGTH_SHORT).show();

           break;

       }

    }

}

 

只是在写完上面代码的时候,记得注册Button的监听事件,否则Button3不会起作用。

而Button4的处理方式,是在Button2的基础上单独定义一个内部类来实现

package lyx.feng.simpletextdemo;

.....

public class ButtonClickActivity extends Activity implements OnClickListener {

   

    @Override

    protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       super.setContentView(R.layout.buttonclick);

       findViewById(R.id.buttonclick_btn4).setOnClickListener(new MyButtonClickListener());

    private class MyButtonClickListener implements OnClickListener{

 

       @Override

       public void onClick(View view) {

           Button btn4 = (Button) view;

           Toast.makeText(ButtonClickActivity.this, btn4.getText(),

                  Toast.LENGTH_SHORT).show();

          

       }

      

    }

}

 

 

也是和Button3一样要为Button4注册单机事件

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值