我有一个处理 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/