동적으로 생성 된 동일한 이름의 EditText가 하나 이상 있습니다. 나는이 EditText를 서버에서 가져온 Requirement 테이블의 크기에 따라 만들었다. 이제 EditText를 클릭하면 DatePickerDialog가 호출됩니다. 그래서 나는 여기에 태그를 가져 가고 싶습니다. 태그를 기반으로 선택하고 싶은 날짜를 설정하고 싶습니다.태그를 가져 오기 위해 DatePickerDialog를 사용자 정의하려면 어떻게합니까?
여기서는 setId를 사용할 수 없습니다. 왜냐하면 이미 나는 그걸 Checkbox에 사용 했으니 까.
그래서 다시하면 충돌이 발생합니다. 그래서 나는 setTag와 함께 가고 싶다. 태그는 모든 EditText에 대해 설정되며 EditText의 onClick을 클릭하면 태그를 가져와야합니다. 또한 onDateSet 함수에서 태그를 가져와야합니다. 그래서 EditText의 위치를 얻을 수 있습니다. 아무도 날 어떻게 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);
}
}
};