I have one or more number of EditText with the same name which is created dynamically. I have created these EditText based on the size of Requirement table which i got from the server. Now I'am calling the DatePickerDialog when i clicks the EditText. So Here I want to get the tag and based on the tag I want to set the date which I'am choosing.
Here I can't use the setId. Because already I have used that for the CheckBox.
So If I do again then I will get a conflict. So I want to go with setTag. The tag will be set for every EditText and when I click the onClick of EditText then I need to get the tag. I also need to get the tag in onDateSet function. So that I can get the position of EditText. Could anyone tell me the way how could i customize the DatePickerDialog?
for(int i =0;i<require.size();i++)
{
requirement = require.get(i);
date1 = new EditText(getActivity());
date1.setLayoutParams(params1);
date1.setWidth(1000);
date1.setHint("Date");
String datetag=new String();
datetag="rid" + requirement.r_id + "datetag";
date1.setTag(datetag);
date.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog dpd = new DatePickerDialog(context,
mDateSetListener, myear, mmonth, mday);
dpd.show();
}
});
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
myear = year;
mmonth = monthOfYear + 1;
mday = dayOfMonth;
if (mmonth < 10) {
month = 0 + Integer.toString(mmonth);
} else {
month = Integer.toString(mmonth);
}
if (mday < 10) {
day = 0 + Integer.toString(mday);
} else {
day = Integer.toString(mday);
}
nextdate = (new StringBuilder().append(myear).append("-")
.append(month).append("-").append(day)).toString();
date.setText(nextdate);
}
}
};
If i got you correctly the date picker is not setting the date for the appropriate EditText.
If that was the problem, you have to do the following changes.
Instead of passing the context you have to pass v.getContext(). This will solve your problem i guess.