如何从 alertdialog 更改 mainactivity 中的可见性编辑文本

Posted

技术标签:

【中文标题】如何从 alertdialog 更改 mainactivity 中的可见性编辑文本【英文标题】:how to change visibility edittext in mainactivity from alertdialog 【发布时间】:2020-05-06 20:47:30 【问题描述】:

我设计了一个警报对话框,当用户按下保存按钮时会显示该对话框

MainActivity

public void openDialog(View view) 
    RegDialog regDialog = new RegDialog();
    regDialog.show(getSupportFragmentManager(), "Register Dialog");

我在MainActivity 中有editText,我想在.setPositiveButton 中按onClick 时更改editText 的可见性

警报对话框

public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    LayoutInflater inflater = getActivity().getLayoutInflater();
    View view = inflater.inflate(R.layout.layout_reg_dialog, null);

    builder.setView(view)
            .setTitle("Titel")
            .setPositiveButton("Activer", new DialogInterface.OnClickListener() 
                @Override
                public void onClick(DialogInterface dialog, int which) 
                    //change visiblity editText
                
            );

【问题讨论】:

通过view.findViewById(R.id.edit_text);获取您的ET 【参考方案1】:

同样可以拨打getActivity().getLayoutInflater(),也可以拨打getActivity().findViewById()

@Override
public void onClick(DialogInterface dialog, int which) 
    EditText et = getActivity().findViewById(R.id.your_id_here);
    et.setVisibility(View.GONE);

【讨论】:

以上是关于如何从 alertdialog 更改 mainactivity 中的可见性编辑文本的主要内容,如果未能解决你的问题,请参考以下文章

AlertDialog 样式 - 如何更改标题、消息等的样式(颜色)

如何动态更改 AlertDialog 的布局和字段

在 Multichoice AlertDialog 中更改预定义项目的值

AlertDialog 更改片段中的背景颜色 [重复]

在 TextFormField Flutter 的值更改时禁用 AlertDialog 按钮

Android:如何设置AlertDialog的宽度和高度,以及AlertDialog风格的按钮?