さて、私は1つのアクティビティと、DialogFragmentを拡張してDatePickerDialog.OnDateSetListenerを実装するMyPickerという別のクラスを持つアプリをやっています
問題は、ユーザーがボタンをクリックすると dataPicker が表示され、その日付を datePicker からアクティビティである texfield に取得したいということです。
どのようにすすめますか?
さて、私は1つのアクティビティと、DialogFragmentを拡張してDatePickerDialog.OnDateSetListenerを実装するMyPickerという別のクラスを持つアプリをやっています
問題は、ユーザーがボタンをクリックすると dataPicker が表示され、その日付を datePicker からアクティビティである texfield に取得したいということです。
どのようにすすめますか?
日付ピッカーで日付を変更している場合は、次のようにすることができます
datePicker.setOnDateChangeListner(new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year1,
int monthOfYear1, int dayOfMonth1) {
year = year1;
monthOfYear = monthOfYear1;
dayOfMonth = dayOfMonth1;
}
}
);
こんにちは、この質問はすでにスタックオーバーフローで何度も尋ねられています..あなたはそのようなことをすることができます-
public class MainActivity extends Activity {
TextView textDate;
private int year;
private int month;
private int day;
static final int DATE_DIALOG_ID = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textDate = (TextView) findViewById(R.id.text_date);
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
textDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, year, month,
day);
}
return null;
}
// updates the date we display in the TextView
private void updateDisplay() {
/*
* Hide virtual keyboard
*/
textDate.setText(new StringBuilder()
// Month is 0 based so add 1
.append(year).append("-").append(month + 1).append("-")
.append(day).append(""));
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int myear, int monthOfYear,
int dayOfMonth) {
year = myear;
month = monthOfYear;
day = dayOfMonth;
updateDisplay();
}
};
}
デモリンクはこちら-