Как установить textView из другого фрагмента? - PullRequest
0 голосов
/ 29 апреля 2020
public class SlideshowFragment extends Fragment {

private SlideshowViewModel slideshowViewModel;


TextView txt1,txt2;
View dialogview,header;
NavigationView navigationView;

public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    slideshowViewModel =
            ViewModelProviders.of(this).get(SlideshowViewModel.class);
    View root = inflater.inflate(R.layout.fragment_slideshow, container, false);
    final TextView textView = root.findViewById(R.id.text_slideshow);
    slideshowViewModel.getText().observe(this, new Observer<String>() {
        @Override
        public void onChanged(@Nullable String s) {
            textView.setText(s);
        }
    });

    final String[] versionArray = new String[] {"Cat","Dog","Horse"};
    AlertDialog.Builder dig = new AlertDialog.Builder(getActivity());
    dig.setTitle("사용자 입력");
    dig.setIcon(R.mipmap.ic_launcher);

    dialogview = (View) View.inflate(getActivity(), R.layout.dialogview,null);
    header = (View) View.inflate(getActivity(),R.layout.nav_header_main,null);



    dig.setView(dialogview);

    dig.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            EditText name = dialogview.findViewById(R.id.diaEditName);
            txt1 = header.findViewById(R.id.text1);
            txt1.setText(name.getText().toString());
            EditText email = dialogview.findViewById(R.id.diaEditMail);
            txt2 = header.findViewById(R.id.text2);
            txt2.setText(email.getText().toString());
        }
    });
    dig.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(getActivity(),"cancel action",Toast.LENGTH_SHORT).show();
        }
    });

    dig.show();

    return root;
    }
 }

сильный текст -> Это код из SlideshowFragment, и я хочу, чтобы, когда я редактировал текстовое имя и адрес электронной почты, его нужно было изменить в профиле nav_header_main, и проблема заключается в том, все работает, но после нажатия кнопки «ОК» в профиле не происходит никаких изменений.

...