我使用编译开放和关闭时间的库(AM & PM)。在用户选择AM之后,我想再次显示PM的TimePickerDialog然后,我想在AM+PM上显示TextView数据。这里有一个TimePickerDialog。
layout_time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar now = Calendar.getInstance();
TimePickerDialog tpd = TimePickerDialog.newInstance(
MainActivity.this,
now.get(Calendar.HOUR_OF_DAY),
now.get(Calendar.MINUTE),
false
);
tpd.show(getFragmentManager(), "Timepickerdialog");
}
});
@Override
public void onResume() {
super.onResume();
TimePickerDialog tpd = (TimePickerDialog) getFragmentManager().findFragmentByTag("Timepickerdialog");
if (tpd != null) tpd.setOnTimeSetListener(this);
}
@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute, int second) {
String time = hourOfDay + ":" + minute + " am";
txt_time.setText(time);
}发布于 2016-06-09 07:13:07
显示第一个TimePicker方法中的第二个onTimeSet方法。
@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute, int second) {
String time = hourOfDay + ":" + minute + " am";
// call the second TimePicker's show() method from here
}然后,将TextView的文本设置为第二个TimePicker的onTimeSet,当您有两次的时候。
就像这样:
final Calendar now = Calendar.getInstance();
final TextView yourTextView = (TextView) findViewById(R.id.yourTextView);
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String time1 = hourOfDay + ":" + minute; // time from first picker
// showing a second TimePicker immediately after the first time was set
new TimePickerDialog(YourActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String time2 = hourOfDay + ":" + minute; // time from second picker
yourTextView.setText(time1 + time2); // setting the TextView's text using both times
}
}, now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), false).show();
}
}, now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), false).show();发布于 2016-06-09 07:26:01
您必须在onTimeSet方法中处理这种情况。
@Override
public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute, int second) {
if(amSelected){
String amTime = hourOfDay + ":" + minute + " am";
// call the second TimePicker's show() method from here
}else if(pmSelected){
String pmTime = hourOfDay + ":" + minute + " pm";
}
if(amSelected && pmSelected){
//Set Data To textView
yourtextView.setText(amTime +"-"+pmTime );
}
}https://stackoverflow.com/questions/37719062
复制相似问题