I am trying to create date pickers dynamically (where I do not know the exact number).
I was referring to this tutorial http://javapapers.com/android/android-datepicker/.
In my code I create date pickers in the following way :-
TableRow row = new TableRow(this);
row.setLayoutParams(new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
edit = new EditText(this);
edit.setLayoutParams(new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
edit.setHint("Tap to select "+input_desc[index]);
edit.setFocusable(false);
edit.setClickable(true);
edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DialogFragment newFragment = new SelectDateFragment();
newFragment.show(getSupportFragmentManager(), "DatePicker");
}
});
allElement_date.add(edit);
row.addView(edit);
table.addView(row);
The above code gets called unknown number of times. Then I have the follwing code:-
@SuppressLint("ValidFragment")
public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), this, yy, mm, dd);
}
public void onDateSet(DatePicker view, int yy, int mm, int dd) {
populateSetDate(yy, mm+1, dd);
}
}
However as you can see there is no way to distinguish between the different clicks on the editText to set them differently.
public void populateSetDate(int year, int month, int day)
{
}
Could someone please help me how to figure out which edit text has been clicked and set them independently.
Thanks in advance.