2010-05-03 3 views
0

와 나는 조각으로 날짜 문자열을 분할해야하고 나는 java.text.DateFormat의 클래스에서안드로이드의 DateFormat의 교체 - 누락 형식() FieldPosition와

public final StringBuffer format (Object object, StringBuffer buffer, FieldPosition field) 

을 사용하고 있어요. 그러나이 함수의 구현은 정말로 느리기 때문에 Android는 android.text.format.DateFormat에 자체 구현을 가지고 있습니다.

그러나 내 경우에는 날짜 문자열 (연도, 분 등)의 다른 부분을 추출하고 싶습니다. 로캘에 독립적이어야하므로 SimpleDateFormat 및 사용자 지정 문자열을 사용할 수 없습니다. 어떤 이유

Calendar c = ... 

    // find out what field to extract 
    int field = getField(); 

    // Create a date string 
    Field calendarField = DateFormat.Field.ofCalendarField(field); 
    FieldPosition fieldPosition = new FieldPosition(calendarField); 
    StringBuffer label = new StringBuffer(); 
    label = getDateFormat().format(c.getTime(), label, fieldPosition); 

    // Find the piece that we are looking for 
    int beginIndex = fieldPosition.getBeginIndex(); 
    int endIndex = fieldPosition.getEndIndex(); 
    String asString = label.substring(beginIndex, endIndex); 

, 안드로이드 플랫폼에 포함되지 않은 FieldPosition와의 인수 형식() 과부하를 다음과 같이 나는 그것을 할. 다른 방법으로 이것을하는 방법에 대한 아이디어? 패턴 문자열을 토큰 화하는 쉬운 방법이 있습니까? 다른 아이디어? 당신이 잘못된 행동이나 받아 들일 수없는 성능의 핵심 라이브러리의 일부 (. 자바 *)를 발견하면

답변