Java 当我设置时间12:00或00:00时,时间选择器不工作,它显示的是AM而不是Pm
当我选择12:00或0:00时,它只显示我不是PM尝试了很多次,但没有得到所需的输出,我在堆栈溢出中搜索相同的问题,但没有得到输出 这里的完整代码如下所示:- main.javaJava 当我设置时间12:00或00:00时,时间选择器不工作,它显示的是AM而不是Pm,java,android,datetimepicker,timepicker,Java,Android,Datetimepicker,Timepicker,当我选择12:00或0:00时,它只显示我不是PM尝试了很多次,但没有得到所需的输出,我在堆栈溢出中搜索相同的问题,但没有得到输出 这里的完整代码如下所示:- main.java package com.Weal.sachin.omcom; import android.content.DialogInterface; import android.support.v4.app.Fragment; import android.support.v7.app.AppCompatActi
package com.Weal.sachin.omcom;
import android.content.DialogInterface;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import java.util.Calendar;
import java.util.Locale;
import android.view.ViewGroup;
import android.widget.EditText;
import android.app.TimePickerDialog;
import android.widget.TimePicker;
public class Daily_Task extends Fragment {
public Daily_Task(){};
boolean isFromClicked = false;
boolean morning = true;
private int hour;
private int minute;
String addtask, adddetail, addstart, addend;
static final int TIME_DIALOG_ID = 999;
View view;
EditText starttime;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_daily__task, container, false);
getActivity().setTitle("Task");
starttime = (EditText) view.findViewById(R.id.start_time);
setCurrentTimeOnView();
addListenerOnButton();
return view;
}
// display current time
public void setCurrentTimeOnView() {
// starttime= (EditText)view.findViewById(R.id.start_time);
// timePicker1 = (TimePicker) findViewById(R.id.timePicker1);
final Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR);
minute = c.get(Calendar.MINUTE);
// set current time into textview
starttime.setText(getTimeText(hour, minute));
// set current time into timepicker
//timePicker1.setCurrentHour(hour);
//timePicker1.setCurrentMinute(minute);
}
public void addListenerOnButton() {
// starttime = (EditText) view.findViewById(R.id.start_time);
starttime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showTimePickerDialog();
isFromClicked = false;
}
});
}
private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int selectedHour,
int selectedMinute) {
hour = selectedHour;
minute = selectedMinute;
// set current time into textview
if (isFromClicked)
starttime.setText(getTimeText(hour, minute));
else{
}
//btnChangeTime.setText(getTimeText(hour, minute));
// set current time into timepicker
// timePicker1.setCurrentHour(hour);
// timePicker1.setCurrentMinute(minute);
}
};
private void showTimePickerDialog() {
new TimePickerDialog(getContext(), timePickerListener, hour, minute, true).show();
}
private String getTimeText(int hourOfDay, int minute) {
int hour = hourOfDay % 12;
if (hour == 0) hour = 12 ;
//then
if (hour >=12 && hour < 24) morning = false;
else morning = true;
String _AM_PM = (hourOfDay > 12) ? "PM" : "AM";
return String.format(Locale.getDefault(), "%02d:%02d %s", hour, minute, _AM_PM);
}
}
package com.Weal.sachin.omcom;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.TimePickerDialog;
import android.icu.text.SimpleDateFormat;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TimePicker;
import java.util.Calendar;
import java.util.Date;
/**
* Created by sachin on 2/2/2017.
*/
public class TImePickerEndTime extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
// Get a Calendar instance
final Calendar calendar = Calendar.getInstance();
// Get the current hour and minute
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
// TimePickerDialog Theme : THEME_DEVICE_DEFAULT_LIGHT
TimePickerDialog tpd = new TimePickerDialog(getActivity(),
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT,this,hour,minute,false);
// TimePickerDialog Theme : THEME_DEVICE_DEFAULT_DARK
TimePickerDialog tpd2 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_DEVICE_DEFAULT_DARK,this,hour,minute,false);
// TimePickerDialog Theme : THEME_HOLO_DARK
TimePickerDialog tpd3 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_HOLO_DARK,this,hour,minute,false);
// TimePickerDialog Theme : THEME_HOLO_LIGHT
TimePickerDialog tpd4 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_HOLO_LIGHT,this,hour,minute,false);
// TimePickerDialog Theme : THEME_TRADITIONAL
TimePickerDialog tpd5 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_TRADITIONAL,this,hour,minute,false);
// Return the TimePickerDialog
return tpd;
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute){
String am_pm = "";
String tm = new SimpleDateFormat("HH:mm").format(new Date(hourOfDay));
Calendar datetime1 = Calendar.getInstance();
datetime1.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime1.set(Calendar.MINUTE, minute);
String strDate = tm.format(String.valueOf(datetime1.getTime()));
if (datetime1.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (datetime1.get(Calendar.AM_PM) == Calendar.PM)
am_pm = "PM";
String strHrsToShow1 = (datetime1.get(Calendar.HOUR) == 00)?"12":datetime1.get(Calendar.HOUR)+"";
// ((EditText)getActivity().findViewById(R.id.End_time)).setText(String.format("%02d:%02d", strHrsToShow1, datetime1.get(Calendar.MINUTE) + "") +" "+am_pm);
// ((EditText)getActivity().findViewById(R.id.End_time)).setText(String.format("%02d:%02d", strHrsToShow1, datetime1.get(Calendar.MINUTE)));
/*((EditText)getActivity().findViewById(R.id.End_time)
).setText( String.format("%02d:%02d", strHrsToShow1, datetime1.get(Calendar.MINUTE) + "") +" "+am_pm);
*/
int hour = hourOfDay % 12;
((EditText) getActivity().findViewById(R.id.End_time)).setText(String.format("%02d:%02d %s", hour == 0 ? 12 : hour,
minute, hourOfDay < 12 ? "am" : "pm"));
}
}
//
timepicker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Initialize a new time picker dialog fragment
DialogFragment dFragment1 = new TImePicker();
// Show the time picker dialog fragment
dFragment1.show(getActivity().getFragmentManager(),"Time Picker");
}
});
package com.Weal.sachin.omcom;
导入android.content.DialogInterface;
导入android.support.v4.app.Fragment;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.LayoutInflater;
导入android.view.view;
导入java.util.Calendar;
导入java.util.Locale;
导入android.view.ViewGroup;
导入android.widget.EditText;
导入android.app.TimePickerDialog;
导入android.widget.TimePicker;
公共类每日任务扩展片段{
公共每日任务(){};
布尔值isFromClicked=false;
布尔值=真;
私人整数小时;
私人整数分钟;
字符串addtask、adddetail、addstart、addend;
静态最终整数时间对话框ID=999;
视图;
编辑文本开始时间;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.activity\u daily\u task,container,false);
getActivity().setTitle(“任务”);
starttime=(EditText)view.findViewById(R.id.start\u time);
setCurrentTimeOnView();
addListenerOnButton();
返回视图;
}
//显示当前时间
public void setCurrentTimeOnView(){
//starttime=(EditText)view.findViewById(R.id.start\u time);
//timePicker1=(TimePicker)findviewbyd(R.id.timePicker1);
最终日历c=Calendar.getInstance();
小时=c.get(日历小时);
分钟=c.get(日历分钟);
//将当前时间设置为textview
setText(getTimeText(小时、分钟));
//将当前时间设置为时间选择器
//timePicker1.setCurrentHour(小时);
//timePicker1.setCurrentMinute(分钟);
}
public void addListenerOnButton(){
//starttime=(EditText)view.findViewById(R.id.start\u time);
starttime.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
showTimePickerDialog();
isFromClicked=false;
}
});
}
私有TimePickerDialog.OnTimeSetListener timePickerListener=新TimePickerDialog.OnTimeSetListener(){
@凌驾
时间集上的公共void(时间选择器视图,int selectedHour,
整数选择(分钟){
小时=所选小时;
分钟=所选分钟;
//将当前时间设置为textview
如果(已单击)
setText(getTimeText(小时、分钟));
否则{
}
//setText(getTimeText(小时,分钟));
//将当前时间设置为时间选择器
//timePicker1.setCurrentHour(小时);
//timePicker1.setCurrentMinute(分钟);
}
};
私有void showTimePickerDialog(){
新的TimePickerDialog(getContext(),timePickerListener,hour,minute,true);
}
私有字符串getTimeText(整数小时,整数分钟){
整小时=小时天数%12;
如果(小时=0)小时=12;
//然后
如果(小时>=12&&hour<24)晨=假;
否则早晨=真;
字符串_AM_PM=(hourOfDay>12)?“PM”:“AM”;
返回String.format(Locale.getDefault(),%02d:%02d%s),小时,分钟,_AM\u PM);
}
}
我尝试了这段代码,现在它对我非常有效:-
TimePicker.java
package com.Weal.sachin.omcom;
import android.content.DialogInterface;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import java.util.Calendar;
import java.util.Locale;
import android.view.ViewGroup;
import android.widget.EditText;
import android.app.TimePickerDialog;
import android.widget.TimePicker;
public class Daily_Task extends Fragment {
public Daily_Task(){};
boolean isFromClicked = false;
boolean morning = true;
private int hour;
private int minute;
String addtask, adddetail, addstart, addend;
static final int TIME_DIALOG_ID = 999;
View view;
EditText starttime;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_daily__task, container, false);
getActivity().setTitle("Task");
starttime = (EditText) view.findViewById(R.id.start_time);
setCurrentTimeOnView();
addListenerOnButton();
return view;
}
// display current time
public void setCurrentTimeOnView() {
// starttime= (EditText)view.findViewById(R.id.start_time);
// timePicker1 = (TimePicker) findViewById(R.id.timePicker1);
final Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR);
minute = c.get(Calendar.MINUTE);
// set current time into textview
starttime.setText(getTimeText(hour, minute));
// set current time into timepicker
//timePicker1.setCurrentHour(hour);
//timePicker1.setCurrentMinute(minute);
}
public void addListenerOnButton() {
// starttime = (EditText) view.findViewById(R.id.start_time);
starttime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showTimePickerDialog();
isFromClicked = false;
}
});
}
private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int selectedHour,
int selectedMinute) {
hour = selectedHour;
minute = selectedMinute;
// set current time into textview
if (isFromClicked)
starttime.setText(getTimeText(hour, minute));
else{
}
//btnChangeTime.setText(getTimeText(hour, minute));
// set current time into timepicker
// timePicker1.setCurrentHour(hour);
// timePicker1.setCurrentMinute(minute);
}
};
private void showTimePickerDialog() {
new TimePickerDialog(getContext(), timePickerListener, hour, minute, true).show();
}
private String getTimeText(int hourOfDay, int minute) {
int hour = hourOfDay % 12;
if (hour == 0) hour = 12 ;
//then
if (hour >=12 && hour < 24) morning = false;
else morning = true;
String _AM_PM = (hourOfDay > 12) ? "PM" : "AM";
return String.format(Locale.getDefault(), "%02d:%02d %s", hour, minute, _AM_PM);
}
}
package com.Weal.sachin.omcom;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.TimePickerDialog;
import android.icu.text.SimpleDateFormat;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TimePicker;
import java.util.Calendar;
import java.util.Date;
/**
* Created by sachin on 2/2/2017.
*/
public class TImePickerEndTime extends DialogFragment implements TimePickerDialog.OnTimeSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
// Get a Calendar instance
final Calendar calendar = Calendar.getInstance();
// Get the current hour and minute
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
// TimePickerDialog Theme : THEME_DEVICE_DEFAULT_LIGHT
TimePickerDialog tpd = new TimePickerDialog(getActivity(),
AlertDialog.THEME_DEVICE_DEFAULT_LIGHT,this,hour,minute,false);
// TimePickerDialog Theme : THEME_DEVICE_DEFAULT_DARK
TimePickerDialog tpd2 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_DEVICE_DEFAULT_DARK,this,hour,minute,false);
// TimePickerDialog Theme : THEME_HOLO_DARK
TimePickerDialog tpd3 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_HOLO_DARK,this,hour,minute,false);
// TimePickerDialog Theme : THEME_HOLO_LIGHT
TimePickerDialog tpd4 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_HOLO_LIGHT,this,hour,minute,false);
// TimePickerDialog Theme : THEME_TRADITIONAL
TimePickerDialog tpd5 = new TimePickerDialog(getActivity(),
AlertDialog.THEME_TRADITIONAL,this,hour,minute,false);
// Return the TimePickerDialog
return tpd;
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute){
String am_pm = "";
String tm = new SimpleDateFormat("HH:mm").format(new Date(hourOfDay));
Calendar datetime1 = Calendar.getInstance();
datetime1.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime1.set(Calendar.MINUTE, minute);
String strDate = tm.format(String.valueOf(datetime1.getTime()));
if (datetime1.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (datetime1.get(Calendar.AM_PM) == Calendar.PM)
am_pm = "PM";
String strHrsToShow1 = (datetime1.get(Calendar.HOUR) == 00)?"12":datetime1.get(Calendar.HOUR)+"";
// ((EditText)getActivity().findViewById(R.id.End_time)).setText(String.format("%02d:%02d", strHrsToShow1, datetime1.get(Calendar.MINUTE) + "") +" "+am_pm);
// ((EditText)getActivity().findViewById(R.id.End_time)).setText(String.format("%02d:%02d", strHrsToShow1, datetime1.get(Calendar.MINUTE)));
/*((EditText)getActivity().findViewById(R.id.End_time)
).setText( String.format("%02d:%02d", strHrsToShow1, datetime1.get(Calendar.MINUTE) + "") +" "+am_pm);
*/
int hour = hourOfDay % 12;
((EditText) getActivity().findViewById(R.id.End_time)).setText(String.format("%02d:%02d %s", hour == 0 ? 12 : hour,
minute, hourOfDay < 12 ? "am" : "pm"));
}
}
//
timepicker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Initialize a new time picker dialog fragment
DialogFragment dFragment1 = new TImePicker();
// Show the time picker dialog fragment
dFragment1.show(getActivity().getFragmentManager(),"Time Picker");
}
});