Jason_White 2015-06-30 02:41 采纳率: 60%
浏览 6482
已采纳

在Activity中调用Fragment的公有函数,变量为null

Activity代码

                    String phone = ((EditText) findViewById(R.id.phone))
                            .getText().toString();
                    if (phone.isEmpty()) {
                        Toast.makeText(ForgetPsdActivity.this, "请输入手机号码",
                                Toast.LENGTH_LONG).show();
                        break;
                    } else {
                        ForgetPSD2Fragment fragment2 = new ForgetPSD2Fragment();
                        transaction.replace(R.id.fragmentcontainer, fragment2);
                        fragment2.setViewPhone(phone);
                        transaction.addToBackStack(null);
                        step = 2;
                    }

fragment2代码

 public class ForgetPSD2Fragment extends Fragment {
    private View view;
    private TextView txtPhone;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.forgetpsd2, container, false);
        txtPhone = (TextView) view.findViewById(R.id.txtphone);
        return view;
    }

    public void setViewPhone(String phone) {
        if (txtPhone == null) {
            Log.i("debug", phone + "abs");
        }else{
            txtPhone.setText(phone);
        }
    }
}

上边是我写的在Activity与fragment之间通信的例子,但是测试发现在调用fragment2.setViewPhone(phone);的时候,txtPhone为null值,请教一下是为什么,有什么解决办法可以处理这个问题?

  • 写回答

2条回答

  • danielinbiti 2015-06-30 02:45
    关注
     fragment2.setViewPhone(phone);//这时候还没初始化
     用
     Bundle bundle = new Bundle();
    bundle.putString("order", "1111");
    fragment.setArguments(bundle);
    
    然后在fragment中
    String name = getArguments().getString("order");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!