绑定一个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);
<Button
    ...省略
    android:onClick="otherClick"
    ...
/>

    在当前的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();
}

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。