Android中加载事件的方式

Android中加载事件的方式

  • 通过内部类的方式实现
  • 通过外部类的方式实现
  • 通过属性的方式实现
  • 通过自身实现接口的方式实现

通过内部类的方式实现 Demo

btn_Login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //要处理的业务
    }
});

通过外部类的方式实现

//调用事件代码
btn_Login.setOnClickListener((View.OnClickListener) new Login());
//外部类
public class Login implements SearchManager.OnCancelListener {
    @Override
    public void onCancel() {
        //要处理的业务
    }
}

通过属性的方式实现

<!--布局文件的代码主要是 onClick属性-->
<Button
    android:id="@+id/btnLogin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:text="Login"
    android:textAllCaps="false"
    android:onClick="login"
    />
//在Activity中写一个 与 绑定的属性名称相同的方法 View 参数不能少
public void login (View v) {
        //检测账号密码是否为空
        if (et_UserName.getText().length()==0|| et_Password.getText().length()==0){
            Toast.makeText(this,"Username or password cannot is 										 null!",Toast.LENGTH_SHORT).show();
            return;
        }
    }

通过自身实现接口的方式实现

public class MainActivity extends AppCompatActivity implements SearchManager.OnCancelListener {

    @Override
    public void onCancel() {
        //要处理的业务
    }
    EditText et_UserName;
    EditText et_Password;
    Button btn_Login;
    CheckBox cb_Rember;
    public final String TAG = "MainActivity";

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

        et_UserName = (EditText) findViewById(R.id.et_UserName);
        et_Password = (EditText) findViewById(R.id.et_Password);
        btn_Login = (Button) findViewById(R.id.btnLogin);
        cb_Rember = (CheckBox) findViewById(R.id.cbRemember);
        
        this.btn_Login.setOnClickListener((View.OnClickListener) this);
    }
}
posted @ 2017-05-11 20:43  鲁迅认识的那只猹  阅读(289)  评论(0编辑  收藏  举报