2017-11-18 1 views
0

은의이 호출 스택입니다 가정 해 봅시다 :조각 내에서 전체 응용 프로그램의 언어를 변경 하시겠습니까?

Fragment2 (현재 위치)

Fragment1

사용자가 바로 설정 화면 인 (fragment2를 탐색하고있다

HostingActivity). 그는 두 번째 언어를 선택한 다음 Fragment1로 돌아갑니다. 나는 앱이 fragment1에 들어가 자마자 제 2 언어의 콘텐츠를 보여주기를 원한다.

가장 좋은 접근 방법은 OnResume() 메서드 내에서 로케일을 구성하는 기본 단편에서 파생되도록하는 것입니다.

나는 이것을 시도했지만 운이 없다. 나는 어떤 변화도 보지 못했다. 나는 제안을 듣고 있습니다.

PS. 값 폴더에서 안드로이드가 요구하는 명명 규칙을 어지럽히 지 않도록하기 위해 필자는 원하는 언어를 사용하여 에뮬레이터 (adb 셸 사용)를 재부팅 해 보았습니다. 예상대로 작동했습니다.

+0

'tags '의 사용이 어떤 차이를 만들지는 모르겠습니다. 더 설명해 주시겠습니까? – rasperryPi

+0

참조 : https://stackoverflow.com/questions/38022709/android-refresh-current-fragment-after-language-change –

답변

0

당신은이 같은 CurrentCulture을 설정하는 기본 클래스를 생성하고 그것에서 상속 할 수 있습니다 : 여기

internal class MyBaseActivity : Activity 
{ 
    protected override void OnResume() 
    { 
     base.OnResume(); 

     // Get the language from wherever. 
     var userSelectedCulture = new CultureInfo ("fr-FR"); 

     Thread.CurrentThread.CurrentCulture = userSelectedCulture; 
    } 
} 

을 그리고 상속과 그것을 사용하는 방법은 다음과 같습니다

YorkShen - MSFT I @
public class MainActivity : MyBaseActivity 
{ 
    protected override void OnResume() 
    { 
     base.OnResume(); // Do not forget to call base.OnResume() 
     // Rest of Your Code... 
    } 
} 
+0

나는 활동을 위해이 작품을 알고 있지만 내가 언급했듯이 - 나는이 접근법을 시도했다. 파편들과 함께이 작품을 만드는 데 어려움을 겪고 있습니다. 파편과 함께이 방법을 사용하여 운이 좋았습니까? – rasperryPi

+0

이 방법은 단편과 함께 사용할 수 있습니까? – rasperryPi

관련 문제