0

さて、私は1つのアクティビティと、DialogFragmentを拡張してDatePickerDialog.OnDateSetListenerを実装するMyPickerという別のクラスを持つアプリをやっています

問題は、ユーザーがボタンをクリックすると dataPicker が表示され、その日付を datePicker からアクティビティである texfield に取得したいということです。

どのようにすすめますか?

4

3 に答える 3

0

日付ピッカーで日付を変更している場合は、次のようにすることができます

datePicker.setOnDateChangeListner(new OnDateChangedListener() {
 public void onDateChanged(DatePicker view, int year1,
int monthOfYear1, int dayOfMonth1) {
year = year1;
monthOfYear = monthOfYear1;
dayOfMonth = dayOfMonth1;
}
}
);
于 2013-07-22T06:00:14.110 に答える
0

こんにちは、この質問はすでにスタックオーバーフローで何度も尋ねられています..あなたはそのようなことをすることができます-

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();
        }
    };
}

デモリンクはこちら-

于 2013-07-22T04:51:39.777 に答える