私のコードは、私はこのコードを持つ2つの問題を抱えている私たちは以下のコード</p> <pre><code>date.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ((Fragment)UserRequests.this.context).showDialog(999);//Error } }); </code></pre> <p>を次のようにBaseAdapterで断片
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
if (id == 999) {
return new DatePickerDialog(context, myDateListener, year, month, day);
}
return null;
}
private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
// arg1 = year
// arg2 = month
// arg3 = day
showDate(arg1, arg2+1, arg3);
}
};
private void showDate(int year, int month, int day) {
date.setText(new StringBuilder().append(day).append("/")
.append(month).append("/").append(year));
}
を必要と日付ピッカーを示すことを行くためにBaseAdapterで日付ピッカーを使用します。まず、UserRequestsというフラグメントにdatepickerを表示したいと思います。私はできません。私は以下のように試しました。
((Fragment)UserRequests.this.context).showDialog(999);
第2の問題は、onCreateDialogメソッドが使用されないという警告が表示されていることです。説明してください。これを解決する方法。前もって感謝します。
にあり、UserRequestフラグメントを拡張するクラスです。 BaseAdapterクラスから、UserRequest FragmentのDatePickerを取得する必要があります。さらに、BaseAdapterを拡張したクラスでBundleを使用することもできます。 – Karrthik
DialogFragmentを拡張する別のクラス(DatePickerFragmentなど)をUserRequest内に作成できます。 showDialog内では、DatePickerFragmentのインスタンスを作成して使用できます。 BaseAdapterからバンドルが渡されません。しかし、必要に応じて作成して処理することができます。 –