【问题标题】:How to create 2 DateTimePicker in Android如何在 Android 中创建 2 个 DateTimePicker
【发布时间】:2014-03-22 03:07:27
【问题描述】:

现在我想问一下,我正在尝试创建 2 个 datetimepicker 并尝试在 android 中的两个不同的 editText(文本框)中获取值,这是我的代码,我在下面的代码中签署了评论。

public class CreateData extends Activity implements OnClickListener{
    int hour, minute, mYear,mMonth, mDay;
    static final int DATE_DIALOG_ID = 1;

    private String[] arrMonth = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
 private EditText txtDate;
 private EditText txtDate2;

 @Override
 public void onCreate(Bundle savedInstanceState) 
 {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.create_data);

    txtDate         = (EditText) findViewById(R.id.Date1);
    txtDate2        = (EditText) findViewById(R.id.Date2);

    final Calendar c = Calendar.getInstance();
    mYear   = c.get(Calendar.YEAR);
    mMonth  = c.get(Calendar.MONTH);
    mDay    = c.get(Calendar.DAY_OF_MONTH);

    txtDate.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
             showDateDialog(txtDate, Calendar.getInstance());
            return true;

        }
    });

    txtDate2.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
             showDateDialog(edTgl_akreditasi, Calendar.getInstance());
            return true;

        }
    }); 
  }

  EditText activeDateDisplay;
  Calendar activeDate;


   public void showDateDialog(EditText dateDisplay, Calendar date) 
    {
       activeDateDisplay = dateDisplay;
       activeDate = date;
       showDialog(DATE_DIALOG_ID);
    }
   @Override
   protected Dialog onCreateDialog(int id)
   {
      switch (id) 
       {
            case DATE_DIALOG_ID:
            return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
       }
    return null;
  }

 private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener()
  {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) 

        {
            mYear = year;
            mMonth = monthOfYear;
            mDay = dayOfMonth;
            String sdate = arrMonth[mMonth] + " " + LPad(mDay + "", "0", 2) + ", " + mYear;
            txtDate.setText(sdate); //until here txtDate can get a value from the datetime picker, but how to set txtDate2 to get value from different datetimepicker?

        }
};

我真的需要帮助。,谢谢你

【问题讨论】:

    标签: android datetime datetimepicker


    【解决方案1】:

    只需将 txtDate.setText(sdate); 更改为 activeDateDisplay.setText(sdate); 即可。同样在editdate2的ontouchlistener中,我不知道edTgl_akreditasi是什么,但我认为应该是showDateDialog(editdate2, Calendar.getInstance());而不是showDateDialog(edTgl_akreditasi, Calendar.getInstance());

    【讨论】:

    • 抱歉 edTgl_akreditasi 是 txtDate2,我忘了更改那个变量,@user3438671,谢谢你的回答,它真的帮助了我:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    相关资源
    最近更新 更多