android - 从 onTimeSet 上的 fragment 获取标签

标签 android android-dialogfragment android-timepicker

我有一个处理 fragment 的 MainActivity。在我做的其中一个 fragment 上:

enterBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            DialogFragment newFragment = new TimePickerFragment();
            newFragment.show(getActivity().getFragmentManager(), "timePickerExit");

        }
    });

    exitBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            DialogFragment newFragment = new TimePickerFragment();
            newFragment.show(getActivity().getFragmentManager(), "timePickerEnter");

        }
    });

在我的 MainActivity 上我得到了结果:

public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener

具有以下功能:

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

//Who called it?
}

我怎么知道在 onTimeSet 上调用它的是 enterBtn 还是 exitBtn?

最佳答案

您可以为进入和退出按钮设置一个 bool 标志。

isExit = false;
enterBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        isExit = false;
        DialogFragment newFragment = new TimePickerFragment();
        newFragment.show(getActivity().getFragmentManager(), "timePickerExit");

    }
});

exitBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        isExit = true;
        DialogFragment newFragment = new TimePickerFragment();
        newFragment.show(getActivity().getFragmentManager(), "timePickerEnter");

    }
});

在Override方法中

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

    if(isExit)
    {
        // Do your task here if Exit button click
    }
     else
    {
        // Do your task here if Enter button click
    }
}

关于android - 从 onTimeSet 上的 fragment 获取标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48927079/

相关文章:

android - 相机打开时在 SurfaceView 上绘图

android - 如何在android中获取RangeSeekBar中的当前最小值和最大值?

android - 在android中放大/缩小或拖动后获取Canvas坐标

android - 在 API 23 中关闭对话框时出现 DeadObjectException

android - 时间选择器格式

Android/样式按钮 : Background also behind Drawable left and Drawable right

android - 全屏DialogFragment

android - 如何在时间选择器中设置最大和最小时间?

android - 当我递增的间隔为 5 时,在 Android TimePicker 中编辑前一分钟和后一分钟

android - 为什么 TimePicker 对话框在 Samsung Marshmallow 6.0.1 上是空白的?