Невозможно установить время из диалогового окна выбора времени для текстового представления во фрагменте - PullRequest
0 голосов
/ 20 марта 2019

У меня есть система сигнализации, где я хочу, чтобы пользователь установил время для уведомления о тревоге.Я пытался получить значение диалогового окна выбора времени в текстовом представлении, но оно не работает.Timepicker также находится на фрагменте, так что, возможно, именно поэтому он не работает.

public class fragment1_myreminders extends Fragment implements TimePickerDialog.OnTimeSetListener {


    private static final String TAG = "fragment1_myreminders";
    private Button mtimePickerButton;
    private TextView mTextView;

    @Override
    public View onCreateView(LayoutInflater inflater,  ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment1_myreminders,container,false);
        mtimePickerButton = view.findViewById(R.id.timePickerButton);
        mTextView = view.findViewById(R.id.setTime);

        mtimePickerButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               DialogFragment timepicker = new dialog_timePicker();
               timepicker.show(getActivity().getSupportFragmentManager(), "TIME PICKER FRAG");
            }
        });

        return view;
    }


    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
        calendar.set(Calendar.MINUTE,minute);
        calendar.set(Calendar.SECOND,0);

        updateTimeText(calendar);
        startAlarm(calendar);
    }

    private void updateTimeText(Calendar calendar) {
        String timeText = "Alarm set for : ";
        timeText+= DateFormat.getTimeInstance(DateFormat.SHORT).format(calendar.getTime());
        mTextView.setText(timeText);
    }

}

, и мой класс диалога выбора времени выглядит следующим образом

public class dialog_timePicker extends DialogFragment {

    private TimePickerDialog.OnTimeSetListener listener;

    public dialog_timePicker() {
    }


        @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.dialog_timepicker,container,false);
        TextView mTextView = view.findViewById(R.id.setTime);
        return view;
    }

    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        final Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);
        return new TimePickerDialog(getActivity(), listener, hour, minute, DateFormat.is24HourFormat(getActivity()));
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...