您的位置:首页 > 移动开发 > Android开发

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

2016-02-28 00:31 591 查看

简易的按钮事件(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
4000
;
           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注册单机事件

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息