Как передать информацию из действия в текст редактирования в настраиваемом модуле alerttdialog - PullRequest
0 голосов
/ 07 июня 2018

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

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

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

}

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

информация о тексте редактирования была доступна

1 Ответ

0 голосов
/ 07 июня 2018

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

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

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

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

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

...