【问题标题】:How to replace fragment onclick of button inside if condition true?如果条件为真,如何替换内部按钮的片段 onclick?
【发布时间】:2017-05-23 10:10:25
【问题描述】:

如果我将 if 条件放在下面的代码中,则片段替换不起作用..

       _doneButton.setOnClickListener(new Button.OnClickListener() {

            @Override
        public void onClick(View _view) {


          Name(no.getText().toString(), pass.getText().toString());
         if(loginsucess){


         android.support.v4.app.FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();

            MainFragment mainFragment = new MainFragment();
            ft.replace(R.id.content, mainFragment);
            ft.addToBackStack(null);
            ft.commit();
    }

【问题讨论】:

  • 条件是什么??
  • if(loginsucees){}
  • 查看我发布的答案
  • 为什么不在代码中添加 if 语句?
  • _doneButton.setEnabled(loginsucees);

标签: java android


【解决方案1】:
_doneButton.setOnClickListener(new Button.OnClickListener() {

@Override
public void onClick(View _view) {

if(true){

Name(no.getText().toString(), pass.getText().toString());


android.support.v4.app.FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();

MainFragment mainFragment = new MainFragment();
ft.replace(R.id.content, mainFragment);
ft.addToBackStack(null);
ft.commit();
}

【讨论】:

  • 请解释你的答案,而不是转储代码
  • 这不是正确的方法..没有获取名称和密码,然后才写 if 条件 ha?
  • 等待用户输入密码和用户名是否正确?
【解决方案2】:

试试这个

if(loginsucees){
android.support.v4.app.FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();

            MainFragment mainFragment = new MainFragment();
            ft.replace(R.id.content, mainFragment);
            ft.addToBackStack(null);
            ft.commit();
}
else {
//Do Nothing
}

【讨论】:

    【解决方案3】:
    _doneButton.setOnClickListener(new Button.OnClickListener() {
    
      @Override
         public void onClick(View _view) {
    if(loginsucees){
     Name(no.getText().toString(), pass.getText().toString());
      FragmentManager manager = getSupportFragmentManager();
      FragmentTransaction ft = manager.beginTransaction();
      MainFragment mainFragment = new MainFragment();
      ft.replace(R.id.content, mainFragment,"main_fragment");
      ft.commitAllowingStateLoss();
      }
    }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 2012-12-08
      • 2016-07-28
      • 1970-01-01
      相关资源
      最近更新 更多