1
Activity A
이 있고 Activity B
에서 호출되었습니다. 매니페스트 활동 A에는 configChanges android:configChanges="locale|orientation|screenSize"
이 있습니다. 활성로케일 변경 후 작업이 완료되었습니다.
- 활성 B에게
의도 의도 = 새로운 텐트 (이, B.class)를 개시하기위한 로케일
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
Resources res = this.getResources();
res.updateConfiguration(newConfig, null);
Intent intent = getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
}
를 변경; startActivity (intent);
활동 A를 시작하고 로캘을 변경하면 모두 정상적으로 작동합니다. 하지만 활동 A를 시작하려고하면 활동 B를 시작한 후 활동 A로 이동하여 로케일을 변경하십시오 (Activity A will not be restarted, it will be destroyed
). 어떻게 활동 A가 파괴되지 않도록 할 수 있습니까?
도움이되지 않습니다. – user2017548
의도 코드를 추가하십시오. 활성 –
- 지역을 변경 \t 공개 무효가 의 onConfigurationChanged \t @Override (구성 newConfig) \t \t \t { super.onConfigurationChanged (newConfig); \t \t 리소스 res = this.getResources(); \t \t res.updateConfiguration (newConfig, null); \t \t 인 텐트 intent = getIntent(); \t \t intent.addFlags (Intent.FLAG_ACTIVITY_NO_ANIMATION); \t \t intent.addFlags (Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); \t \t startActivity (인 텐트); \t} - 활동 B 시작 용 \t 의도 의도 = 새로운 의도 (this, B.class); \t \t startActivity (인 텐트); – user2017548