Как передать информацию из действия в текст редактирования в настраиваемом диалоговом окне alerttdialog

Я создал специальный диалог alerttdialog, в котором есть 2 Edittexts. Я хочу передать ему информацию из существующей базы данных при нажатии на что-либо.

это класс диалогового окна настраиваемого оповещения

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

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

        builder.setView(view).setTitle("Add Job")

                .setPositiveButton("add", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                        if (isDouble(wageValue.getText().toString())){
                            String nameOjob = jobName.getText().toString();
                            Double valueOwage = Double.parseDouble(wageValue.getText().toString());
                            listener.applyTexts(nameOjob, valueOwage);
                            builder.create();

                        }else{
                            wageValue.setError("Wrong Format Error");
                        }

                    }
                })
                .setNeutralButton("cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });


        jobName = view.findViewById(R.id.job_name_ETD);
        wageValue = view.findViewById(R.id.wage_ETD);

        //I want to pass information to these

        //jobName.setText();
        //wageValue.setText();

        return builder.create();
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);

        try {
            listener =(ExampleDialogueListener) context;
        } catch (ClassCastException e) {
            throw new ClassCastException(context.toString() + "must implement Example Dialogue Listener");
        }
    }

    public interface ExampleDialogueListener{
        void applyTexts(String jobname, Double wage);
    }

    boolean isDouble(String str) {
        try {
            Double.parseDouble(str);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }

}

Я хочу передать информацию в текст редактирования через параметры, чтобы в тексте редактирования была информация, когда я создаю alerttdialog

Пожалуйста, добавьте всю необходимую информацию в свой вопрос. Вы указали, что у вас есть AlertDialog, хотя на самом деле похоже, что вы внедряете DialogFragment. Мне было бы интересно узнать, реализовали ли вы метод newInstance()

Barns 07.06.2018 01:18

Плохо, что я запутался и предположил, что настраиваемый диалог оповещений не является фрагментом. И нет, я не реализовал метод newInstance ()

lathrix 07.06.2018 03:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, вы расширяете DialogFragment.

Вы можете передавать данные так же, как и обычный фрагмент.

Bundle args = new Bundle();
args.putString("arg_key","something");
f.setArguments(args);

Где ж - это экземпляр вашего DialogFragment.

Внутри вашего DialogFragment вы можете вызвать getArguments (), чтобы получить свой пакет.

Другие вопросы по теме