我正在構建一個android應用程序,並且面臨DatePicker
的問題。 我的實現(我想要的方式)如下: A GridView
(帶圖像)和所選項目開始一個新的意圖。 關於特定項目,我首先要啓動DatePicker
和DatePicker
選擇,啓動新的意圖。問題在於,或者DatePicker
將在其後推出,或者根本不會啓動。 如果任何人都可以提供幫助,我會很感激(關於代碼,或者如果他能爲我提供另一個更合適的實現解決方案)。Android:GridView中的Datepicker
所以我有這樣的代碼onCreate()
內:
gridview.setAdapter(myAdapter);
calendarDate = Calendar.getInstance();
caseCalendar = Calendar.getInstance();
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
if(position == 7){
onCustomDatePicker();
if(caseCalendar.get(Calendar.DAY_OF_YEAR) < calendarDate.get(Calendar.DAY_OF_YEAR)){
Toast.makeText(getBaseContext(), "Πρέπει να επιλέξεις μεταγενέστερη ημερομηνία", Toast.LENGTH_SHORT).show();
onCustomDatePicker();
}
}
else{
caseCalendar = calendarDate;
}
Intent intent = new Intent(getBaseContext(), Customize.class);
ViewHolder holder = (ViewHolder) v.getTag();
DateWithImage temp = (DateWithImage) holder.image.getTag();
intent.putExtra("image",temp.getImageID());
intent.putExtra("option",position);
intent.putExtra("info",temp.getInfo());
intent.putExtra("calendar", calendarDate);
intent.putExtra("caseCalendar", caseCalendar);
startActivity(intent);
Toast.makeText(getBaseContext(), "" + position, Toast.LENGTH_SHORT).show();
}
});
與此代碼爲DatePicker
:
private void onCustomDatePicker(){
new DatePickerDialog(this, d, caseCalendar.get(Calendar.YEAR),caseCalendar.get(Calendar.MONTH),caseCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
caseCalendar.set(Calendar.YEAR, year);
caseCalendar.set(Calendar.MONTH, monthOfYear);
caseCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
}
};
我想設定新的日期到caseCalendar
和比較它calendarDate
(保存當前日期)。
感謝您的答覆,但它似乎沒有工作,雖然你實現給了我一些很好的提示。不幸的是,或者我會堅持使用日期選擇器,否則在我選擇之前會彈出新的意圖。 –