2016-06-08 20 views
0

我正在做一个应用程序,它将在TextView上设置时间。我通过从Caldenar实例开始在TextView中显示默认视图。在我下面的应用程序中,当我显示时间时,它是不同的(我在两个设备上尝试过,而且两者都不同)。但是,日期工作正常。Android上的日历实例呈现的时间与设备中显示的时间不同

public class MainActivity extends FragmentActivity { 
    static EditText DateEdit; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     DateEdit = (EditText) findViewById(R.id.editText1); 
     final Calendar c = Calendar.getInstance(); 
     int year = c.get(Calendar.YEAR); 
     int month = c.get(Calendar.MONTH); 
     int day = c.get(Calendar.DAY_OF_MONTH); 
     int hour = c.get(Calendar.HOUR_OF_DAY); 
     int minute = c.get(Calendar.MINUTE); 

     DateEdit.setText(minute + ":" + hour + " " + day+"/"+(month+1)+"/"+year); 

     DateEdit.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       showTruitonDatePickerDialog(v); 
       showTruitonTimePickerDialog(v); 

      } 
     }); 
    } 

    public void showTruitonDatePickerDialog(View v) { 
     DialogFragment newFragment = new DatePickerFragment(); 
     newFragment.show(getSupportFragmentManager(), "datePicker"); 
    } 

    public static class DatePickerFragment extends DialogFragment implements 
      DatePickerDialog.OnDateSetListener { 

     @Override 
     public Dialog onCreateDialog(Bundle savedInstanceState) { 
      // Use the current date as the default date in the picker 
      final Calendar c = Calendar.getInstance(); 
      int year = c.get(Calendar.YEAR); 
      int month = c.get(Calendar.MONTH); 
      int day = c.get(Calendar.DAY_OF_MONTH); 

      // Create a new instance of DatePickerDialog and return it 
      return new DatePickerDialog(getActivity(), this, year, month, day); 
     } 

     public void onDateSet(DatePicker view, int year, int month, int day) { 
      // Do something with the date chosen by the user 
      DateEdit.setText(DateEdit.getText() + " " + day + "/" + (month + 1) + "/" + year); 
     } 
    } 

    public void showTruitonTimePickerDialog(View v) { 
     DialogFragment newFragment = new TimePickerFragment(); 
     newFragment.show(getSupportFragmentManager(), "timePicker"); 
    } 

    public static class TimePickerFragment extends DialogFragment implements 
      TimePickerDialog.OnTimeSetListener { 

     @Override 
     public Dialog onCreateDialog(Bundle savedInstanceState) { 
      // Use the current time as the default values for the picker 
      final Calendar c = Calendar.getInstance(); 
      int hour = c.get(Calendar.HOUR_OF_DAY); 
      int minute = c.get(Calendar.MINUTE); 

      // Create a new instance of TimePickerDialog and return it 
      return new TimePickerDialog(getActivity(), this, hour, minute, 
        DateFormat.is24HourFormat(getActivity())); 
     } 

     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      // Do something with the time chosen by the user 
      DateEdit.setText(hourOfDay + ":" + minute); 
     } 
    } 

} 

任何想法如何改善它?

预先感谢您

+0

如何是日期/时间不同?差异中的任何模式? – FWeigl

+0

没有图案,日期是正确的。时间是完全不同的。在我的朋友的设备上,差别是5个小时,我的9个小时。 –

回答

0

在默认设置你第一分钟打印,然后小时

相关问题