美文网首页
Android--学习-Button 按钮的点击

Android--学习-Button 按钮的点击

作者: charleswang | 来源:发表于2017-06-13 15:29 被阅读20次

    第一种方法:

    在布局文件中指定一个方法来响应点击事件,布局文件的写法如下:

    <Button
      android:onClick="clicked"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/btn0" />
    

    这样当点击按钮时,就会调用对应的Activity的相应的方法

    public void clicked(View v){
    //TODO
    }
    Andro
    

    第二种方法

    在Activity中或在XML中创建一个Button,我是在XML中通过id获取Button

    <Button 
            android:id="@+id/btn_log"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/btn_log"/>
    

    在Activity中获取通过id获取到Button并给按钮添加点击的监听者类MyOnClickListener

    Button btn = (Button)findViewById(R.id.btn_log);
    btn.setOnClickListener(new MyOnClickListener());
    

    实现按钮点击的接口

    class MyOnClickListener implements View.OnClickListener {
            @Override
            public void onClick(View v) {
                //实现点击的方法
                
            }
        }
    

    第三种方法:

    在监听器只接收一个按钮点击时,可以采用
    匿名内部类的形式

    button.setOnclickListener(new View.OnClickListener (){
         public void onClick(View v){
         //TODO
         }
    });
    

    第四种方法:

    为了方便,有时候我会直接让Activity去实现View.OnClickListener接口,这时候就只需要在Activity中实现接口的onClick()方法就可以了,同时也可以让多个按钮复用一个监听器。然后在onClick()方法判断下Button的id就好了。

    public class MainActivity extends AppCompatActivity implements View.OnClickListener{
        ...
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ...
            btn.setOnclickListener(this);
        }
    
        public void onClick(View v){
            switch(v.getId()){
                case R.id.btn0:
                    //TODO
                    break;
                case R.id.btn1:
                    //TODO
                    break;
                default:
                    //TODO
                break;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Android--学习-Button 按钮的点击

          本文链接:https://www.haomeiwen.com/subject/zrwdqxtx.html