2012-05-28 3 views
1

Google 어플라이언스는 기기 설정에 관계없이 특정 로캘을 적용합니다. 문자열이 제대로 변환 될 때까지 일시적인 결정입니다.로케일을 앱 위젯으로 설정

Configuration config = sContext.getResources().getConfiguration(); 
    if (!sDefaultLocale.equals(config.locale)) { 
      Locale.setDefault(sDefaultLocale); 
      config.locale = sDefaultLocale; 
      sContext.getResources().updateConfiguration(config, 
        sContext.getResources().getDisplayMetrics()); 

    } 

불행하게도, 응용 프로그램 위젯이 작동하지 않는 로케일을 강제 위젯은 여전히 ​​장치의 로케일을 사용합니다. 앱 위젯이 동일한 로케일을 사용하도록 만드는 방법을 찾고 있습니다.

+0

위에서 언급 한 코드는 무엇입니까? 로케일을 설정하는 위치에서이 위치를 공유하고이 코드 이후에 무엇을하고 있다면 좋을까요? 이렇게하면 코드를보다 적절하게 응답하는 데 도움이됩니다. –

+0

행운을 빕니다. – Sergey

+0

해결책을 찾으셨습니까?! – Coderji

답변

1

로캘을 변경 한 후 앱 위젯을 업데이트해야합니다. 그리고 중요한 것은 새로운 RemoteView를 생성 할 때 리모트 뷰 .setTextViewText (..)를 사용하여 모든 문자열을 프로그래밍 방식으로으로 설정해야한다는 것입니다.

응용 프로그램 위젯 문자열 리소스가 XML로 정의 된 경우 (android : text = "@ string/...") - 새 로캘을 설정 한 후에 변경되지 않습니다.

관련 문제