I have problem with writing date I selected in DatePicker with Dialog Fragment. I`m trying to do this using Android Annotations. Problem is, I have to implement behavior for setting this date to TextView on OnDateSet function in DatePickerFragment class.
How can I choose in which TextView, which @Click should write?
Code below:
@EActivity(R.layout.activity_main_search)public class SearchActivity extends FragmentActivity{
private int mFYear, mFMonth, mFDay, mTYear, mTMonth, mTDay;
(R.id.main_search_city)
EditText cityET;
@ViewById(R.id.main_search_price)
EditText priceET;
@ViewById(R.id.main_search_from)
TextView dateFromTV;
@ViewById(R.id.main_search_to)
TextView dateToTV;
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
}
}
@AfterViews
public void setCurrentdateonView(){
final Calendar c = Calendar.getInstance();
mFYear = c.get(Calendar.YEAR);
mFMonth = c.get(Calendar.MONTH)+1;
mFDay = c.get(Calendar.DAY_OF_MONTH);
dateFromTV.setText(new StringBuffer().append(mFDay).append("-").append(mFMonth).append("-").append(mFYear).append(""));
dateToTV.setText(new StringBuffer().append(mFDay).append("-").append(mFMonth).append("-").append(mFYear).append(""));
}
@App
HApplication mApp;
@Click(R.id.main_search_from_btn)
public void showFromDatePickerDialog(View v) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
@Click(R.id.main_search_to_btn)
public void showToDatePickerDialog(View v) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
@Click(R.id.main_search_btn)
public void openSearch(){
//SearchActivity_.intent(this).city(cityET.getText().toString()).start();
ListActivity_.intent(this).city(cityET.getText().toString()).price(priceET.getText().toString()).start();
}}
Functions that should realise that date writing are:
@Click(R.id.main_search_from_btn) public void showFromDatePickerDialog(View v)
it should write date to dateFromTV
and
@Click(R.id.main_search_to_btn) public void showToDatePickerDialog(View v)
it should write date to dateToTV
I SOLVED THE PROBLEM.
What I needed was flags, which were set on each button @Click and then in onDateSet case switch with flag number check. Maybe it will help someone, because it took me whole day to figure it out...