我正在尝试使用时间选择器在一页上设置多次,但不知道如何执行此操作。到目前为止,我可以将一次设置为一个不同的文本框,即。 TextViewA
。
我想要做的是设置触发时间选择器的onClick
事件的Textview
的文本。
示例当我点击Time1
时,它将调用OnClick
并将Time1.Text设置为我分配的时间,并且Time2
也是如此。
时间选择器类:
public class TimePickerFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return new TimePickerDialog(getActivity(),(TimePickerDialog.OnTimeSetListener)getActivity(),hour,minute, android.text.format.DateFormat.is24HourFormat(getActivity()));
}
}
OnClick 用于调用 Timepicker:
Time1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
DialogFragment timePicker = new TimePickerFragment();
timePicker.show(getSupportFragmentManager(),"time picker");
}
});
时间选择器方法:
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
TextView Time1= (TextView)findViewById(R.id.TextViewA);
Tim1.setText( hourOfDay + ":" +minute);
}
任何帮助将不胜感激!
最佳答案
显示时间选择器时设置标签。并检查回调。
int which;
Time1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
which = 0;
...
}
});
和
Time1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
which = 1;
...
}
});
并检查您何时收到回调。
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
if(which == 0) {
Time1.setText( hourOfDay + ":" +minute);
}
else if (which == 1) {
Time2.setText( hourOfDay + ":" +minute);
}
}
关于java - Android 多个时间选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51672794/