我正在尝试将数据从可单击的TextView传递到片段之间的EditText。现在,单击TextView时,我可以导航到另一个片段。这是CategoryFragment
的编码:
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
Toast.makeText(
getActivity().getApplicationContext(),
listDataHeader.get(groupPosition)
+ " : "
+ listDataChild.get(
listDataHeader.get(groupPosition)).get(
childPosition), Toast.LENGTH_SHORT)
.show();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
HomeFragment fragment = new HomeFragment();
fragmentTransaction.replace(R.id.frame_container, fragment);
fragmentTransaction.commit();
return false;
}
我认为可以这样做,因为烤面包机可以在listDataChild
中检索字符串。我似乎无法在一夜之间解决的是如何检索listDataChild
字符串并将其从片段1传递到片段2,其中片段2包含一个EditText框。如何将字符串从textview放到edittext?
在CategoryFragment中使用Bundle
传递数据,如
HomeFragment fragment = new HomeFragment();
Bundle bundle = new Bundle();
bundle.putString("key", listDataChild.get(
listDataHeader.get(groupPosition)).get(
childPosition));
fragment.setArguments(bundle);
在HomeFragment
中,在onActivityCreated(....)中使用此代码
Bundle bumdle = getArguments();
if (bundle != null)
String value = bundle.getString("key");
您可以使用捆绑软件在片段之间传递数据...
Bundle args = new Bundle();
HomeFragment fragment = new HomeFragment();
args.putInt("key", value);
fragment .setArguments(args);
使用在官方ViewModel documentation上建议的SharedViewModel