2011-09-12 3 views
0

이 자습서 http://developer.android.com/resources/tutorials/views/hello-timepicker.html을 따라 시간 선택 도구를 만든 후 두 번째 차이점을 비교하려고합니다. 다음 메소드가있어서 getCurrentHour() 및 getCurrentMinute()가 public 메소드로 임포트되었지만 작동하지 않습니다. 여기 내 방법이다 : 나는 다음과 같은 오류 코드를 얻을TimePicker getCurrentHour() 및 getCurrentMinute()가 Android에서 작동하지 않습니다.

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()는 형의 텍스트 뷰에 대한 정의입니다". 편집 : 일부 메소드가 오류 테스트를 위해 설정되었음을 깨달았습니다. 문제를 해결하는 방법을 잘 모르겠습니다.

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 : 여기 내 선언입니다 :

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가 : 여기 사용중인 내 TimePicker의의 exmaple입니다 다음 코드는 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)); 
} 

답변

0

getCurrentHour() 방법은 위젯 형식 TimePicker 사용할 수 있습니다. 올바른 위젯을 사용하고 있는지 확인하십시오. 오류는 분명히 당신이 대신 TextView을 사용하여 액세스하려고한다고 말합니다.

+0

나는 더 많은 정보를 보여주기 위해 그것을 편집했다. 나는 오류를 이해하는 방법을 이해하지 못했기 때문에 여전히 도움이 필요하다. – Trav

+0

mTimeDisplayEnd 및 mTimeDisplay에 대한 선언을 표시하십시오. –

+0

선언을 표시하도록 업데이트되었습니다. – Trav

관련 문제