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值,请教一下是为什么,有什么解决办法可以处理这个问题?