我想将我的EditText输入从我的第一个片段传递到按钮单击的第二个片段上的textview。但是,当按钮点击被触发时,textview显示“null”值。片段到片段EditText
第一块碎片:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.first_frag, container, false);
TextView tv = (TextView) v.findViewById(R.id.tvFragFirst);
tv.setText(getArguments().getString("msg"));
Button btn = (Button) v.findViewById(R.id.tryBtn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText woo = (EditText)v.findViewById(R.id.editText);
MainActivity.myBundle.putString("Try", String.valueOf(woo));
switch (v.getId()) {
case R.id.tryBtn:
SecondFragment home = new SecondFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.first_frag, home);
ft.setTransition(FragmentTransaction.TRANSIT_ENTER_MASK);
ft.addToBackStack(null);
ft.commit();
break;
}
}
}
);
return v;
}
第二块碎片:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.second_frag, container, false);
TextView tv = (TextView) v.findViewById(R.id.tvFragSecond);
TextView tvTry = (TextView) v.findViewById(R.id.tvTry);
String myValue = (String) MainActivity.myBundle.get("Try");
return v;
}
MainActivity:
public static Bundle myBundle = new Bundle();
非常感谢。这工作完美..如果我要添加多个值按钮点击? – randolfrojo11
只是把它放在已创建的包中: bundle.putString(“secondTry”,woo2.getText()。toString());然后从参数中得到它:String myValue2 = arguments.getString(“secondTry”); –