Java 如何从片段中保存数据

Java 如何从片段中保存数据,java,android,android-fragments,Java,Android,Android Fragments,我在活动中包含的底部导航栏中有更改的片段。 在活动中,当用户单击时,我有一个选项菜单(Save),它将保存该片段上的数据 我的问题是我想将数据保存在当前片段中,并通过相同的保存按钮发送回Activity。如何管理或通过 这是我的活动 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a

我在活动中包含的底部导航栏中有更改的片段。 在活动中,当用户单击时,我有一个选项菜单(Save),它将保存该片段上的数据

我的问题是我想将数据保存在当前片段中,并通过相同的保存按钮发送回Activity。如何管理或通过

这是我的活动

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_trip);


    BottomNavigationView bottomNav = findViewById(R.id.bottomNavigationView);
    bottomNav.setOnNavigationItemSelectedListener(navListener);
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new TransportationFragment()).commit();

    getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close);
    setTitle("Plan Page");


}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.save_menu, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
        case R.id.save_activity:

            return true;
        default:
            return super.onOptionsItemSelected(item);


    }
}

private BottomNavigationView.OnNavigationItemSelectedListener navListener =
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                Fragment selectedFragment = null;

                switch (item.getItemId()) {
                    case R.id.nav_transportaion:
                        selectedFragment = new TransportationFragment();
                        break;
                    case R.id.nav_lodging:
                        selectedFragment = new LodgingFragment();
                        break;
                    case R.id.nav_activity:
                        selectedFragment = new ActivityFragment();
                        break;
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        selectedFragment).commit();
                return true;
            }

        };
我的三个碎片中的一个

 @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    final FragmentManager fm = ((AppCompatActivity) getActivity()).getSupportFragmentManager();
    View view = inflater.inflate(R.layout.activity_fragment, container, false);
    setHasOptionsMenu(true);

    editTextTitle = view.findViewById(R.id.edit_text_title);
    editTextDescription = view.findViewById(R.id.edit_text_description);
    numberPickerPriority = view.findViewById(R.id.number_picker_priority);
    editTextStartDate = view.findViewById(R.id.edit_text_start_date);
    editTextStartDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            DialogFragment datePicker = new DatePickerFragment();
            datePicker.setTargetFragment(ActivityFragment.this, REQUEST_CODE);
            datePicker.show(fm, "date picker");

        }
    });


    return view;


}



@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    // check for the results
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        // get date from string
        String selectedDate = data.getStringExtra("selectedDate");
        // set the value of the editText
        editTextStartDate.setText(selectedDate);


    }
}
}

谢谢