绑定一个Activity中引入不同布局中的按钮点击事件

    首先我要做的是一个局部的登陆注册布局切换,在两个布局中设置不同按钮,然后通过点击事件进行切换
Activyty实现OnClickListener接口,

@Override
protected void onCreate(Bundle savedInstanceState) {
    Button buttonReg = (Button)findViewById(R.id.button_register);
    buttonReg.setOnClickListener(this);
}
@Override
public void onClick(View v) {

}

这样做是无法绑定事件的,甚至无法正常启动APP
    findViewById可以获取到按钮,但是不能赋值给buttonReg,导致buttonReg为空,绑定事件就出错了,可能因为我设置的起始活动就是登陆,所以导致我无法启动,其他有待考察。

    如果要绑定事件的话,首先要成功获取到控件,下面是绑定控件的方法

//控件绑定
View view = View.inflate(getApplicationContext(),R.layout.login_fragment,null);

buttonLogin = (Button)view.findViewById(R.id.button_login);
buttonReg = (Button)view.findViewById(R.id.button_reg);

    在当前的Activity中新建一个方法

public void otherClick(View view){
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    hideAllFragment(transaction);
    switch (view.getId()){
        case R.id.button_login:
        
            break;
        case R.id.button_reg:
            Toast.makeText(LoginActivity.this,"click",Toast.LENGTH_LONG).show();
            if (regFragment==null){
                regFragment = RegFragment.createInstance();
                transaction.add(R.id.login_fragment_container,regFragment);
            }else{
                transaction.show(regFragment);
            }
            break;
        }
        transaction.commit();
}

    这样就可以实现不同布局间的绑定点击事件

你可能感兴趣的:(绑定一个Activity中引入不同布局中的按钮点击事件)