Можете ли вы получить сообщение в DialogFragment и вернуть сообщение в виде строки обратно в действие? - PullRequest
0 голосов
/ 13 марта 2019

В основном я создал DialogFragment, который содержит 3 кнопки и сообщение.Сообщение представляет собой целочисленное значение, начинающееся с 0, а положительные и отрицательные кнопки позволяют пользователю увеличивать и уменьшать значение в сообщении на 1 при каждом нажатии кнопки.как только пользователь нажимает нейтральную кнопку «ОК», я хочу знать, возможно ли получить сообщение в виде строки и вернуть его обратно в основное действие?Если нет, то как это можно сделать?

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

Большое спасибо

ps извините, если я использую это неправильно, мой первый раз здесь

public class AddEmployeesDialogFragment extends DialogFragment {

    //variables
    int value = 0;
    AlertDialog.Builder builder;
    AlertDialog alertDialog;

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

        builder.setTitle("How many Employees do you want to add to");
        builder.setMessage((new Integer(value)).toString());
        builder.setPositiveButton("+", null);
        builder.setNegativeButton("---", null);
        builder.setNeutralButton("Ok", null);

        // Create the AlertDialog object and return it
        return builder.create();
    }

    @Override
    public void onStart(){
        super.onStart();
        alertDialog = (AlertDialog)getDialog();
        if(alertDialog != null)
        {
            Button positiveButton = (Button)alertDialog.getButton(Dialog.BUTTON_POSITIVE);
            positiveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    value++;
                    alertDialog.setMessage((new Integer(value)).toString());
                }
            });
            Button negativeButton = (Button)alertDialog.getButton(Dialog.BUTTON_NEGATIVE);
            negativeButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(value > 0) {
                        value--;
                    }
                    alertDialog.setMessage((new Integer(value)).toString());
                }
            });
            Button neutralButton = (Button)alertDialog.getButton(Dialog.BUTTON_NEUTRAL);
            neutralButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dismiss();
                }
            });
        }
    }
}
...