将android datepicker中的日期初始化为特定日期,即不是当前日期.

Leo*_*eoa 9 android calendar initialization date android-datepicker

在我的应用程序中,我有一个保存在远程数据库中的日期,我希望将日期选择器设置为.我已经研究过,只发现了通过Calender java util设置datepicker今天日期的例子.例:

final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);
Run Code Online (Sandbox Code Playgroud)

如何使用日历从数据库显示我的日期而不是今天的日期?你有任何我可以遵循的建议或例子吗?

更新:尝试使用Calendar后,我尝试使用

     // set Date
            String eventYear =date.substring(0,4);
            String eventDay =date.substring(5,7);
            String eventMonth =date.substring(8,10);
        //convert string to int for because calendar only takes int: set(int,int)
        int month = Integer.parseInt(eventMonth);
  final Calendar c = Calendar.getInstance();
     mMonth=c.get(c.set(Calendar.MONTH, Calendar.month));
// or   mMonth=c.get(Calendar.MONTH, Calendar.month);
Run Code Online (Sandbox Code Playgroud)

生成错误,表示无法将int转换为void.

如何使用日历将其设置为特定日期?根据谷歌的开发者网站,我应该能够做到这一点. http://developer.android.com/reference/java/util/Calendar.html

例:

set(Calendar.MONTH, Calendar.SEPTEMBER)
Run Code Online (Sandbox Code Playgroud)

我希望将来自服务器的datepicker中显示的日期作为默认值.

小智 9

你可以使用updateDate(year,month,day_of_month); 日期选择器返回日,月和年的整数值.所以参数必须是整数值.并且日期选择器中月份jan的整数值为0.

我需要将从数据库中提取的日期放入日期选择器.我写了下面的代码,它的工作原理.

DatePicker DOB;
SQLiteDatabase db;

DOB=(DatePicker)findViewById(R.id.datePicker1);

db = openOrCreateDatabase("BdaySMS", SQLiteDatabase.CREATE_IF_NECESSARY, null);
Cursor cur = db.rawQuery("select * from BdaySMS where ph='"+pn+"';", null);//pn is the phone no.

if(cur.moveToFirst())
{
    name.setText(cur.getString(0));
    phone.setText(cur.getString(1));
    DOB.updateDate(Integer.parseInt(cur.getString(4)),Integer.parseInt(cur.getString(3)),Integer.parseInt(cur.getString(2)));
    message.setText(cur.getString(5));
}
Run Code Online (Sandbox Code Playgroud)