用DatePickerDialog做了日期选择的,做了几天郁闷了所以现在想用DatePicker控件来实现。
功能描述如下,按一个按钮后弹出DatePicker,它有两个按钮“确认”和“取消”。
按“确认”把日期设置到TextView上并关闭弹出的DatePicker,按取消直接关闭DatePicker。
不要用showDialog(DATE_ID);这种方法,编辑器提示该方法已经被废弃了。
我的代码如下,单击按钮弹不出DatePicker窗口。
public class MainActivity extends Activity {
private TextView text;
private Button button;
private DatePicker datepicker;
private LinearLayout mainlayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(TextView)findViewById(R.id.textView1);
button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Calendar calendar=Calendar.getInstance(TimeZone.getDefault());
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH);
int day=calendar.get(Calendar.DAY_OF_MONTH);
datepicker=new DatePicker(MainActivity.this);
datepicker.init(year, month, day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
});
//MainActivity已经有layout了,我这样加会不会有问题?
mainlayout=new LinearLayout(MainActivity.this);
//下句报错
//mainLayout.setOrientation(LinearLayout.VERTICAL);
mainlayout.addView(datepicker);
}
});
}
------解决方案--------------------
好好利用Android 的API文档~在里面就可以发现答案了~
https://developer.android.com/guide/topics/ui/controls/pickers.html