Search code examples
androidandroid-edittextandroid-alertdialogvisibilityandroid-inflate

how to change visibility edittext in mainactivity from alertdialog


I have designed an alertdialog of which when the user press the save button

MainActivity

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

and I have editText in MainActivity ,I want to change visibility for editText when press onClick in .setPositiveButton

AlertDialog

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
                }
            });

Solution

  • In the same way you can call getActivity().getLayoutInflater(), you can call getActivity().findViewById():

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