我试图添加time picker
到日期选择器。我是java的初学者,也许有人可以给我正确的方式?我希望时间选择器出现在日历视图顶部,之后我选择日期,时间选择器弹出。可能吗 ?在xml文件中,只有少数EditText字段在此类中已经声明。添加时间选择器到日期选择器android
public class CompletedWorksActivity extends Activity implements
DatePickerDialog.OnDateSetListener, OnClickListener, OnTimeSetListener {
private TextView text_date;
private Button search;
private EditText from;
private EditText to;
private int yearfrom;
private int monthfrom;
private int dayfrom;
private int hourfrom;
private int minfrom;
private int yearto;
private int monthto;
private int dayto;
private int hourto;
private int minto;
private int hour;
private int min;
private DatePickerDialog date_picker;
private TimePickerDialog time_picker;
private boolean fromEdit;
private boolean toEdit;
@Override
protected void onCreate(Bundle menuinstance) {
super.onCreate(menuinstance);
setContentView(R.layout.completed_works);
Intent intent = getIntent(); // gaunam
User user = (User) intent.getSerializableExtra("user");
from = (EditText) findViewById(R.id.datefrom);
to = (EditText) findViewById(R.id.dateto);
Calendar cal = Calendar.getInstance();
hour = cal.get(Calendar.HOUR_OF_DAY);
min = cal.get(Calendar.MINUTE);
date_picker = new DatePickerDialog(this, this, cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
date_picker.getDatePicker().setCalendarViewShown(true);
date_picker.getDatePicker().setSpinnersShown(false);
time_picker = new TimePickerDialog(this, this, hour, min, true);
from.setOnFocusChangeListener(focusListener);
to.setOnFocusChangeListener(focusListener);
time_picker.set
search = (Button) findViewById(R.id.searchSubmit);
// search.setOnClickListener(searchlistener);
}
@Override
public void onDateSet(DatePicker dp, int y, int m, int d) {
String cheapDate = y + "-" + (m + 1) + "-" + d;
View v = getCurrentFocus();
if (v == from) {
yearfrom = y;
monthfrom = m;
dayfrom = d;
Log.d("year from ", "" + yearfrom + monthfrom + dayfrom);
} else {
yearto = y;
monthto = m;
dayto = d;
Log.d("year to ", "" + yearto + monthto + dayto);
// Toast.makeText(getApplicationContext(),yearto+monthto+dayto ,
// Toast.LENGTH_LONG).show();
}
if (fromEdit) {
from.setText(cheapDate);
} else {
to.setText(cheapDate);
}
}
private View.OnClickListener searchlistener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
};
private View.OnFocusChangeListener focusListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
EditText edit = (EditText) v;
int len = edit.getText().toString().length();
if (edit == findViewById(R.id.datefrom)) {
Toast.makeText(getApplicationContext(), "Data nuo ? ",
Toast.LENGTH_LONG).show();
fromEdit = v.getId() == R.id.datefrom;
date_picker.show();
} else {
Toast.makeText(getApplicationContext(), "Data iki ? ",
Toast.LENGTH_LONG).show();
fromEdit = v.getId() == R.id.datefrom;
date_picker.show();
}
}
}
};
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
我也在寻找类似问题的解决方案。 – WISHY
不久前我有一个类似的问题,我相信把datepicker后的timepicker解决问题(而datepicker之前使用timepicker没有工作)。 – Pphoenix