実行時に動的にボタンを作成しており、クリックイベントによってdatepickerdialogが開きます。だからこのように:
Button btnDate = new Button(this);
btnDate.setText("Date");
btnDate.setTag(new UDAControlItemTag(q.getiQuestionID(),-1,f.getiSectionID(),f.getiGroup(),-1,"Date",""));
btnDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Button tempBtn = (Button)v;
UDAControlItemTag tempQ = (UDAControlItemTag)tempBtn.getTag();
showDialog(DATE_DIALOG_ID_Question);
//tempBtn.setText(Integer.toString(mTempMonth));
}
});
次に、値などを取得できるリスナーがありますが、コントロールを動的に作成しているため、各コントロールのこれらの値を異なるプロパティを持つArrayListに保持します。私が抱えている問題は、その質問の正しいプロパティをArrayListに入れるために、どのボタンがクリックされたかを正しく判断するために必要なパラメーターを取得する方法です。
private DatePickerDialog.OnDateSetListener mDateSetListenerQuestion =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
mTempYear = year;
mTempMonth = monthOfYear;
mTempDay = dayOfMonth;
}
};
したがって、ダイアログの値がありますが、アクティビティのすべての動的コントロールのすべての回答のArrayListに値を入れるために、ユーザーがクリックしたボタンに関連付けられたQuestionIDが必要です。 。どんなアイデアでも本当にありがたいです、ありがとう。