TimePicker getCurrentHour()和getCurrentMinute()在Android中不起作用

时间:2011-09-12 10:35:04

标签: android timepicker

我已经按照本教程http://developer.android.com/resources/tutorials/views/hello-timepicker.html创建了一个时间选择器,然后创建了第二个,我试图比较两者之间的差异。 我有以下方法,由于某种原因,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));
}

1 个答案:

答案 0 :(得分:0)

getCurrentHour()方法只能与窗口小部件类型TimePicker一起使用。请确认您是否使用了正确的小部件。该错误明确表示您正在尝试使用TextView来访问它。