首页 > 解决方案 > 如何从另一个片段设置 textView?

问题描述

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 的配置文件中进行更改,问题是一切正常,但是在我单击“确定”后没有配置文件的变化。

标签: javaandroidandroid-fragments

解决方案


推荐阅读