0

このチュートリアルhttp://developer.android.com/resources/tutorials/views/hello-timepicker.htmlに従ってタイムピッカーを作成し、次に2番目のピッカーを作成して、 2。次のメソッドがあり、パブリック メソッドとしてインポートされているにもかかわらず、何らかの理由で getCurrentHour() と getCurrentMinute() が機能しません。これが私の方法です:

private void calcShiftLength() {
int difHour = mTimeDisplayEnd.getCurrentHour() -mTimeDisplay.getCurrentHour();
int difMin = mTimeDisplayEnd.getCurrentMinute() - mTimeDisplay.getCurrentMinute();

mShiftLength.setText(new StringBuilder().append(difHour).append(":").append(difMin));
}

次のエラー コードが表示されます。「メソッド getCurrentHour() は TextView 型に対して未定義です」編集:エラーをテストするためにいくつかのメソッドが設定されていることに気付きました。これは問題を理解していますが、それを解決する方法がわかりません。これは、TimePicker が使用されている例です。

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new     TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        mHour = hourOfDay;
        mMinute = minute;
        updateDisplay();
    }
};
private TimePickerDialog.OnTimeSetListener mTimeSetListenerEnd = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view2, int hourOfDay, int minute) {
        mHour = hourOfDay;
        mMinute = minute;
        updateDisplayEnd();
    }
};

Edit2:ここに私の宣言があります:

    private TextView mShiftLength;

private TextView mTimeDisplay;
private Button mPickTime;

private TextView mTimeDisplayEnd;
private Button mPickTimeEnd;

private int mHour;
private int mMinute;

static final int TIME_DIALOG_ID = 0;
static final int TIME_DIALOG_IDEND = TIME_DIALOG_ID + 1;

編集 3: 次のコードは、時間を int に変換し、それらを取り除いて差を計算することを意図しています。後で 24 時間で作業しますが、今のところ機能させたいだけです。とにかく、現時点ではアプリがクラッシュしています:

    private void calcShiftLength() {
    int startTime = Integer.parseInt(mTimeDisplay.getText().toString());
    int endTime = Integer.parseInt(mTimeDisplayEnd.getText().toString());
    int shiftLength = endTime - startTime;

    mShiftLength.setText(new StringBuilder().append(shiftLength));
}
4

1 に答える 1

0

getCurrentHour()メソッドはウィジェット タイプでのみ使用できますTimePicker。正しいウィジェットを使用しているかどうかを確認してください。TextViewエラーは、代わりに使用してアクセスしようとしていることを明確に示しています。

于 2011-09-12T10:45:45.817 に答える