Android 对 Button 的三种监听

Android 上学那会就在学习了,但是工作以后一直用 U3D,最近刚好有时间 拾掇起来了

先熟熟悉下 对按钮事件的监听吧

package com.robot.environment;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


///第二中方式 继承  View.OnClickListener
//public class MainActivity extends AppCompatActivity implements  View.OnClickListener {
//第三中方法
public class MainActivity extends AppCompatActivity{
    public  Button btn_login;
    public  Button btn_cancel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_login = findViewById(R.id.button_login);
        btn_cancel= findViewById(R.id.button_cancel);


//        ///第一种方式
//        btn_login.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
//            }
//        });
//
//
//        btn_cancel.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Toast.makeText(MainActivity.this,"取消登陆",Toast.LENGTH_LONG).show();
//            }
//        });



//        ///第二种方式
//        this.btn_login.setOnClickListener(this);
//        this.btn_cancel.setOnClickListener(this);

    }



//    ///第二继承 接口的实现
//    @Override
//    public void onClick(View v) {
//        switch (v.getId())
//        {
//            case R.id.button_login: break;
//            case  R.id.button_cancel:break;
//        }
//    }


    ///第三种方式 修改 xml onClick
    public  void  Login(View v)
    {

    }
    public  void  Cancel(View v)
    {

    }
}

第一终究是 最常见的

//        ///第一种方式
//        btn_login.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
//            }
//        });
//
//
//        btn_cancel.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Toast.makeText(MainActivity.this,"取消登陆",Toast.LENGTH_LONG).show();
//            }
//        });

第二种就是 是要继承 

public class MainActivity extends AppCompatActivity implements  View.OnClickListener 
 并且重写 
//    ///第二继承 接口的实现
//    @Override
//    public void onClick(View v) {
//        switch (v.getId())
//        {
//            case R.id.button_login: break;
//            case  R.id.button_cancel:break;
//        }
//    }

第三种呢 是雪灾 XML 配置文件中的   onClick 中的

        <Button

            android:onClick="Login"
            android:id="@+id/button_login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

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

        <Button
            android:onClick="Cancel"
            android:id="@+id/button_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

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

对应的Java 代码

    ///第三种方式 修改 xml onClick
    public  void  Login(View v)
    {

    }
    public  void  Cancel(View v)
    {

    }

还有一个小 技巧 用xml 的 配置信息给  UI 赋值 颜色等等

<resources>
    <string name="app_name">Environment测试</string>


    <string name="user_name">用户名</string>
    <string name="password">密 码</string>

    <string name="Input_name">请输入用户名</string>
    <string name="Inputpass_word">请输入密码</string>


    <string name="login">登陆</string>
    <string name="cancel">取消</string>



</resources>

资源地址

猜你喜欢

转载自blog.csdn.net/nicepainkiller/article/details/85038886