0

Activity クラスを拡張しないクラスから TimePicker ダイアログを作成しようとしています。Activity Context を含む Context 属性を持つ EnterTime というクラスに TimePicker が必要です。

WEB 上の TimePicker の例はすべて Activity クラスで記述された基本的なものであり、それが私を混乱させる理由です。

Android 3.0 より前のバージョンで適切に動作するタイム ピッカーが必要です。XML レイアウトは使用しません。

したがって、基本的に onCreateDialog() を配置する場所、選択した時間を取得する方法などの提案が必要です。

TimePicker を呼び出すための onClickListener() を持つ EditText があります。

4

1 に答える 1

3

これはあなたを助けるかもしれません

public class MyTimePicker {
TimePickerDialog mTimePickerDialog;

public interface onTimeSet {
    public void onTime(TimePicker view, int hourOfDay, int minute);
}

onTimeSet mOnTimeSet;

public void setTimeListener(onTimeSet onTimeset) {
    mOnTimeSet = onTimeset;
}

public MyTimePicker(Context ctx) {
    mTimePickerDialog = new TimePickerDialog(ctx, new OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            mOnTimeSet.onTime(view, hourOfDay, minute);

        }
    }, 1, 1, true);
}

public void show() {
    mTimePickerDialog.show();
}

これを呼び出します

public void ShowTimePicker() {
    MyTimePicker myTimePicker = new MyTimePicker(this);
    myTimePicker.show();
    myTimePicker.setTimeListener(new onTimeSet() {

        @Override
        public void onTime(TimePicker view, int hourOfDay, int minute) {
            Toast.makeText(MainActivity.this,
                    "time is " + hourOfDay + ":" + minute,
                    Toast.LENGTH_LONG).show();

        }
    });
}
于 2012-10-09T10:11:55.217 に答える