我已经学习了本教程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();
}
};
编辑2:这是我的声明:
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));
}
getCurrentHour()
方法只能与小部件类型TimePicker
一起使用。请确认您是否使用了正确的小工具。该错误清楚地表明您正在尝试使用TextView
来访问它。