2010-08-01 2 views
1

위젯은 데이터베이스의 필드에 저장된 시간을 검색하는 TimePicker입니다.키보드를 사용하는 경우 TimePicker에서 시간이 변경되면 어떻게 캡처합니까?

사용자가 위젯에서 시간 값을 변경하면이 값이 데이터베이스에 저장되지 않는다는 것입니다.

따라서 위젯에서 플러스 및 마이너스 기호 만 사용하는 경우, 매력처럼 작동하는 setOnTimeChangedListener 메서드가 나타났습니다. 키워드를 사용하면 변경 사항을 캡처하지 않습니다. 나는 또한 실패 시도했습니다

pickedTime.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { 

     public void onTimeChanged(TimePicker arg0, int arg1, int arg2) { 
      System.out.println("What time is it? " 
        + String.valueOf(arg0.getCurrentHour()) + ":" 
        + String.valueOf(arg0.getCurrentMinute())); 
     } 

    }); 

:

pickedTime.setOnFocusChangeListenerpickedTime.setOnKeyListener 방법

여기 내 코드입니다. 로, AddStatesFromChildren는 = "true"를 XML 파일에 : mon3t이 발견으로

+1

결코 답을 찾지 못했습니다 ... xml 레이아웃에서 나는 단지 속성 **을 설정해야만했습니다 ** 아이들로부터 상태를 추가하십시오 **. 어쨌든 읽어 주셔서 감사합니다. – monn3t

+0

답변을 게시하고 2 일 안에 답변을 수락하십시오. – Pentium10

답변

1

이 옵션은 안드로이드 설정하는 것입니다

<DatePicker 
    android:id="@+id/datePicker" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:addStatesFromChildren="true" /> 
<TimePicker 
    android:id="@+id/timePicker" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:addStatesFromChildren="true" /> 

또는 코드에 의해 그를 설정할 수 있습니다

datePicker.setAddStatesFromChildren(true); 
    timePicker.setAddStatesFromChildren(true); 

나는 그것이 사실 인 채식의 요점이 무엇인지를 이해할 수 없다.

4

대화 상자를 처리하고 TimePicker를 사용할 때 나에게 효과가 없었습니다.

어쨌든 초점과 관련이 있으므로 어쨌든 대화 상자를 닫을 때 clearFocus를 수행하면 제대로 작동합니다. 같은

뭔가 :

@Override 
protected void onDialogClosed(boolean positiveResult) { 
    super.onDialogClosed(positiveResult); 

    if (positiveResult) { 
     picker.clearFocus(); 
     lastHour=picker.getCurrentHour();    
     lastMinute=picker.getCurrentMinute(); 

     String time=String.valueOf(lastHour)+":"+String.valueOf(lastMinute); 

     if (callChangeListener(time)) { 
      persistString(time); 
     } 
    } 
} 
1

시코의 대답은 사실이 일반적인 문제에 많은 가치를 추가하고있다.

변경 이벤트를 관리하지 않고 다른 코드 (예 : 표준 버튼의 onClick 핸들러)에서 시간 선택기의 값을 조회하는 경우 실제 값을 얻으려면 명확한 초점이 필요합니다 사용자가 허니 콤 또는 이후 버전에 따라 위 또는 아래 화살표 또는 스크롤러를 사용하는 것과 달리 사용자가 수동으로 키보드로시 또는 분을 입력 할 때

감사합니다. Sikora.

관련 문제