Click here to Skip to main content
15,885,435 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
EditText time = (EditText) findViewById(R.id.time);

time.setOnLongClickListener(new OnLongClickListener(){
    @Override
    public boolean onLongClick(View v) {
	// TODO Auto-generated method stub
	Calendar mcurrentTime = Calendar.getInstance();
	int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
	int minute = mcurrentTime.get(Calendar.MINUTE);
	TimePickerDialog mTimePicker;
	            
	mTimePicker = new TimePickerDialog(AddEventsActivity.this, new TimePickerDialog.OnTimeSetListener() {

	      @Override
	      public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
	         time.setText( selectedHour + ":" + selectedMinute);
	        }
	 }, hour, minute, true);//Yes 24 hour time
	            
	 mTimePicker.setTitle("Select Time");
	 mTimePicker.show();

	 return false;
         }
});

The above code display 24 hour clock while long click on edit text. But, I want 12 hour clock (i.e. with am and pm).

What should I change in this code? Is there any other way?
Posted
Comments
[no name] 24-Jun-14 9:27am    
See this link- https://www.youtube.com/watch?v=8MeNU1CEhlY

change the true in TimePickerDialog to false
mTimePicker = new TimePickerDialog(AddEventsActivity.this, new TimePickerDialog.OnTimeSetListener() {...}, hour, minute, false);

Refer: TimePickerDialog[^]
 
Share this answer
 
Comments
mathiazhagan01 25-Jun-14 1:35am    
Yeah, I found it. Anyway thank you for the solution Mr.Peter Leow.
As Mr.Peter Leow told, changing true in TimePickerDialog to false will display time picker with am and pm. But the value return will be in 24 hour time. So we have to check the returned time and change the time in 12 hour clock format.
Java
<pre>
EditText time = (EditText) findViewById(R.id.time);

time.setOnLongClickListener(new OnLongClickListener(){
        @Override
	public boolean onLongClick(View v) {
	// TODO Auto-generated method stub
	Calendar mcurrentTime = Calendar.getInstance();
	int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
	int minute = mcurrentTime.get(Calendar.MINUTE);
	TimePickerDialog mTimePicker;
	            
	mTimePicker = new TimePickerDialog(AddEventsActivity.this, new TimePickerDialog.OnTimeSetListener() {
	     @Override
	     public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
	                	
	        String am_pm;
	        if (selectedHour > 12)
	          {
	             selectedHour = selectedHour - 12;
	             am_pm = "PM";
	             } else {
	             am_pm = "AM";
	          }
	                	
	      time.setText( selectedHour + ":" + selectedMinute + " " +am_pm);
	     }
	     }, hour, minute, false);
	     mTimePicker.setTitle("Select Time");
	     mTimePicker.show();
             return false;
            }
});
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900