【发布时间】:2015-03-26 06:59:11
【问题描述】:
我在 android 中创建了一个布局,其中包括日期选择器和在文本框中显示日期。我想将该日期存储到数据库中,我已经创建了数据库,但是在从文本框中获取该日期时发生了错误。如何存储选定的日期?
public class Welcome_Coordinator extends Activity implements OnClickListener{
boolean flag=false;
SQLiteDatabase db=null;
Button btnCalendar, btnTimePicker;
EditText txtDate, txtTime;
private int mYear, mMonth, mDay;
@SuppressLint("SimpleDateFormat")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_coordinator);
btnCalendar = (Button) findViewById(R.id.btnCalendar);
txtDate = (EditText)findViewById(R.id.txtDate);
btnCalendar.setOnClickListener(this);
db=openOrCreateDatabase("schooldata", MODE_PRIVATE, null);
db.execSQL("create table if not exists employee(txtDate varchar,flag varchar)");
}
@Override
public void onClick(View v) {
if (v == btnCalendar) {
// Process to get Current Date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
// Launch Date Picker Dialog
DatePickerDialog dpd = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
// Display Selected date in textbox
txtDate.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
}, mYear, mMonth, mDay);
dpd.show();
}
}
public void action(View v)
{
switch(v.getId())
{
case R.id.button1:
//I am getting an error here
String txtDate=txtDate.getText().toString();
{
db.execSQL("insert into employee values('"+txtDate+"', 'nothing')");
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
db.close();
finish();
}
break;
}
Toast.makeText(getApplicationContext(), "Submitted Successfully", Toast.LENGTH_LONG).show();
}
请帮助我。 谢谢。
【问题讨论】:
-
什么是错误???
-
你在 String txtDate=txtDate.getText().toString(); ?
-
它在 getText() 上显示“方法 getText() 未定义为 String 类型”
-
在此处查看 SQLite 有效时间字符串:sqlite.org/lang_datefunc.html
标签: android sqlite datepicker textview