Android中Button的使用方法

Android中的Button控件详解

    Button类继承TextView类
    TextView类又继承了View类

1.首先在xml文件中编写一个Button

           android:id="@+id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="确定"
    
       />

代码解析:
android:id="@+id/button1"给Button分配了一个button1来标识这个Button。
此时在R.java文件中会自动生成以下代码   
 public static final class id {
        public static final int button1=0x7f050000;
        public static final int button2=0x7f050001;
    }
接下来设置控件的宽度和高度,都为包裹内容“wrap_content”

2.在MainActivity中使用创建好的Button

 在主函数内声明变量private Button btn1 =null;
 在OnCreate函数中用声明的变量找到创建好的Button控件
 btn1=(Button) findViewById(R.id.button1);

3.如何知道按钮被点击:有以下三种方法

  3.1.内部匿名类

       

      btn1.setOnClickListener (new OnClickListener()


{
public void onclick(View v)
{


     Toast.makeText(MainActivity.this,"你点击了按钮",Toast,LENGTH_LONG).show();
}


}
);
  通过重写OnClickListener接口内的onclick函数,可以监听到btn1的按钮事件,此处是一个回调函数。

  3.2.编写接口实现方法

     此方法与3.1类似,只不过是把实现方法写成一个ButtonClick函数

       
    在OnCreate函数中编写btn的监听:  btn1.setOnClickListener(new ButtonClick());

    把接口的实现写在主函数下的 ButtonClick类中。
     ButtonClick实现OnClickListener接口,在类中写接口的onClick方法

     public class ButtonClick implements OnClickListener {


         public void onClick(View v) {
         System.out.println("ha");
         
}


}

  3.3.此方法3.2的完善:当有多个Button时,我们可以用3.2中的方法依次对按钮设置监听进行实现。
       但此时重复代码量增多,不利于代码的优化。
      因此我们可以设置OnClickListener接口类型的listener变量
private OnClickListener listener =new OnClickListener()
{


public void onClick(View v) {
Button btn = (Button)v;
switch(btn.getId())
{
case R.id.button1:
Toast.makeText(MainActivity.this, "你点击了确定按钮", Toast.LENGTH_LONG).show();
break;
case R.id.button2:
Toast.makeText(MainActivity.this, "你点击了取消按钮", Toast.LENGTH_LONG).show();
break;
}
//Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show();
}
};
因为:
     Button类继承TextView类
    TextView类又继承了View类
所以可通过Button btn = (Button)v进行强制转换。Button对象又存在一个id号,
通过getid函数可以得到,通过将id号与资源文件中各个button控价的id号
进行匹配,执行不同的代码。
                至此还需在OnCreate函数中设置监听 
                 btn1.setOnClickListener (listener);
                 btn2.setOnClickListener (listener);




你可能感兴趣的:(Android中Button的使用方法)