2013-07-24 2 views
0

Есть ли способ, чтобы переформатировать Datepicker так, что вместо того, чтобы «мм/дд/гггг» вы можете получить «дд/мм/гггг» или даже «дд/мм/гг»Изменение расположения DatePicker

Это мой текущий код.

import android.app.Activity; 
import android.app.DatePickerDialog; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.view.View.OnClickListener; 
import android.app.DatePickerDialog.OnDateSetListener; 
import java.util.Calendar; 


/** 
* Created by MOS182 on 7/21/13. 
*/ 
public class AddReminder extends Activity { 

    TextView Title, Amount, PaymentDate, ReminderDate, ReminderTime; 
    EditText eTitle, eAmount, ePaymentDate, eReminderDate, eReminderTime; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 


     super.onCreate(savedInstanceState); 
     setContentView(R.layout.reminders_dialog); 
     initializeVariables(); 

     ePaymentDate.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       //To show current date in the datepicker 
       Calendar mcurrentDate = Calendar.getInstance(); 
       int mYear = mcurrentDate.get(Calendar.YEAR); 
       int mMonth = mcurrentDate.get(Calendar.MONTH); 
       int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH); 

       DatePickerDialog mDatePicker; 
       mDatePicker = new DatePickerDialog(AddReminder.this, new OnDateSetListener() { 
        public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) { 
         // TODO Auto-generated method stub 
        /*  Your code to get date and time */ 
         selectedmonth = selectedmonth + 1; 
         ePaymentDate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear); 
        } 
       }, mYear, mMonth, mDay); 
       mDatePicker.setTitle("Select date"); 
       mDatePicker.show(); 
      } 
     }); 


    } 





    private void initializeVariables() 
    { 
     Title = (TextView) findViewById(R.id.tvTitle); 
     Amount = (TextView) findViewById(R.id.tvAmount); 
     PaymentDate = (TextView) findViewById(R.id.tvPaymentDate); 
     ReminderDate = (TextView) findViewById(R.id.tvReminderDate); 
     ReminderTime = (TextView) findViewById(R.id.tvReminderTime); 
     eTitle = (EditText) findViewById(R.id.etTitle); 
     eAmount = (EditText) findViewById(R.id.etAmount); 
     ePaymentDate = (EditText) findViewById(R.id.etPaymentDate); 
     eReminderDate = (EditText) findViewById(R.id.etReminderDate); 
     eReminderTime = (EditText) findViewById(R.id.etReminderTime); 
    } 


} 

Это то, что отображается в данный момент, когда я запускаю свой код и выбираю поле ePaymentDate.

enter image description here

ответ

2

Початкоотделитель принимают формат даты, выбранный пользователем, который означает, что вы на самом деле не форматировать его, как, вероятно, пользователь пользуется больше всего увидеть формат он используется к.

Я только что проверил код и на своем телефоне, где у меня есть дата в формате (dd/mm/yyyy), поэтому сборщик показывает тот же формат; в эмуляторе я поставил дату в формате mm/dd/yyyy, так что сборщик отображает то же самое.

То есть нет способа установить формат отображения.

Но если вы все еще хотите отобразить конкретный формат, обратитесь к this link, есть подробный способ показать дату в нужном формате, но с изменениями в исходном коде.

+0

Я привык видеть dd/mm/yyyy, однако, когда я запускаю эмулятор, он достигает mm/dd/yyyy, будет ли он работать как dd/mm/yyyy, когда я запустил его на свой телефон? –

+0

Если на вашем телефоне это dd/mm/yyyy, да, это будет как dd/mm/yyyy. Попробуй. Он должен работать. –

 Смежные вопросы

  • Нет связанных вопросов^_^