
Enter the title with edittext and press the calendar button to display the start and end dates in the textview, respectively. It's perfect up to here.
However, I try to store data on db using this, but I don't think I can store the date. I thought we could put the data shown in StartLabel into the variable. Is this wrong?
I want to save the start date 2022-01-28 in startdate. Likewise, I want to save the end date in enddate. But it's not saved. Help me.....
public class EventActivity extends AppCompatActivity {
private EditText event_title;
private TextView start_date_text;
private ImageView start_date_btn;
private TextView end_date_text;
private ImageView end_date_btn;
private Button event_save_btn;
private String startdate, enddate;
Calendar sCalendar = Calendar.getInstance();
Calendar eCalendar = Calendar.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event);
start_date_text = (TextView) findViewById(R.id.start_date_text);
end_date_text = (TextView) findViewById(R.id.end_date_text);
event_title = (EditText) findViewById(R.id.event_title);
start_date_btn = (ImageView) findViewById(R.id.start_date_btn);
end_date_btn = (ImageView) findViewById(R.id.end_date_btn);
event_save_btn = (Button) findViewById(R.id.event_save_btn);
mTextViewResult = (TextView)findViewById(R.id.result_text);
mTextViewResult.setMovementMethod(new ScrollingMovementMethod());
//show start_date
DatePickerDialog.OnDateSetListener myDatePicker1 = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
sCalendar.set(Calendar.YEAR, year);
sCalendar.set(Calendar.MONTH, month);
sCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
startLabel();
}
};
//show end_date
DatePickerDialog.OnDateSetListener myDatePicker2 = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
eCalendar.set(Calendar.YEAR, year);
eCalendar.set(Calendar.MONTH, month);
eCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
endLabel();
}
};
//click start calendar btn
start_date_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new DatePickerDialog(EventActivity.this,
myDatePicker1,
sCalendar.get(Calendar.YEAR),
sCalendar.get(Calendar.MONTH),
sCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
//click end calendar btn
end_date_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new DatePickerDialog(EventActivity.this,
myDatePicker2,
eCalendar.get(Calendar.YEAR),
eCalendar.get(Calendar.MONTH),
eCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
..........
}
private void startLabel() {
String myFormat = "yyyy-MM-dd"; //2018/11/28
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);
TextView start_date_text = (TextView) findViewById(R.id.start_date_text);
start_date_text.setText(sdf.format(sCalendar.getTime()));
startdate = start_date_text.toString(); // for save startdate
}
private void endLabel() {
String myFormat = "yyyy-MM-dd";// 2018/11/28
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);
TextView end_date_text = (TextView) findViewById(R.id.end_date_text);
end_date_text.setText(sdf.format(eCalendar.getTime()));
enddate = end_date_text.toString(); // for save enddate
}
................
CodePudding user response:
Instead of this:
private void startLabel() {
String myFormat = "yyyy-MM-dd"; //2018/11/28
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);
TextView start_date_text = (TextView) findViewById(R.id.start_date_text);
start_date_text.setText(sdf.format(sCalendar.getTime()));
startdate = start_date_text.toString(); // for save startdate
}
Try doing it like this:
private void startLabel() {
String myFormat = "yyyy-MM-dd"; //2018/11/28
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.English);
startdate = sdf.format(sCalendar.getTime()); // for save startdate
TextView start_date_text = (TextView) findViewById(R.id.start_date_text);
start_date_text.setText(startdate);
}
You can do the same for the endLabel().
CodePudding user response:
Try to change it:
startdate = start_date_text.getText.toString(); // for save startdate ```
also the same for enddate
