使用设置日期选择器Datapicker.update(年,月,日); 给我随机日期,即使日期正确所以任何帮助请我使用相同的活动添加或编辑任务
这是我的代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
databaseConnector = new DatabaseConnector(this);
title = (EditText) findViewById(R.id.TitleET);
subject = (EditText) findViewById(R.id.SubjectET);
category = (Spinner) findViewById(R.id.CategorySpinner);
datePicker = (DatePicker) findViewById(R.id.datePicker);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Category, android.R.layout.simple_spinner_item);
category.setAdapter(adapter);
extra = getIntent().getExtras();
if(extra !=null)
{
String [] spli = extra.getString("Date").split("-");
row_id = extra.getLong("row_id");
title.setText(extra.getString("Title"));
subject.setText(extra.getString("Subject"));
if(extra.getString("Category").equals("Exam"))
{
category.setSelection(0);
}
else
{
category.setSelection(1);
}
datePicker.updateDate(Integer.parseInt(spli[2]),Integer.parseInt(spli[1]),Integer.parseInt(spli[0]));
}
}
答案 0 :(得分:1)
我不确定这是否是正确的方法,但我编辑了这行代码并且工作正常
datePicker.updateDate(Integer.parseInt(spli[2]),Integer.parseInt(spli[1]),Integer.parseInt(spli[0]));
}
更改为
datePicker.updateDate(Integer.parseInt(spli[2]),Integer.parseInt(spli[1])-1,Integer.parseInt(spli[0]));
我不知道它背后的逻辑但是它有效
答案 1 :(得分:0)
DatePicker.updateDate()
的月份参数从零开始。来自documentation:
月 从零开始的月份。
因此,作为第二个参数,请使用Integer.parseInt(spli[1]) - 1