이제 2 조각, 1 조각 조각 세로 모드 다음 다른 핸들 가로 모드. 그러나 문제는 세로에서 가로로 회전 한 다음 다시 세로로 회전 할 때입니다. 첫 번째 인물 모드에서 표시되는 것과 동일한 것을 표시하지 않습니다. 이 문제를 해결할 수있는 코드가 있습니까?조각을 사용하여 방향 변경을 처리하는 방법은 무엇입니까?
이 코드는 단편 홀더 내부 :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frag_holder);
FragmentManager fm = getSupportFragmentManager();
final Fragment fragment = Frag.newInstance(); //Portrait layout
final Fragment fragment2 = Frag2.newInstance(); //Landscape layout
int orientation = getResources().getConfiguration().orientation; //check whether is it portrait or landscape
if(orientation == Configuration.ORIENTATION_PORTRAIT){
Fragment fragTAG = fm.findFragmentByTag(TAG_P);
if(fragTAG == null){
Log.i("test","test");
fm.beginTransaction()
.replace(R.id.fragPlaceHolder, fragment, TAG_P)
.commit(); //Portrait
}
else{
fm.beginTransaction().replace(R.id.fragPlaceHolder,fragTAG).commit();
}
}
if(orientation == Configuration.ORIENTATION_LANDSCAPE){
Fragment fragTAG = fm.findFragmentByTag(TAG_L);
if(fragTAG == null){
fm.beginTransaction()
.replace(R.id.fragPlaceHolder, fragment2, TAG_L)
.commit(); //Landscape
}
else{
fm.beginTransaction().replace(R.id.fragPlaceHolder,fragTAG).commit();
}
}
}
}
을 통해 당신은 문제를 일으키는 코드를 게시 할 필요가 먼저. – jaibatrik
문제에 대한 유일한 진정한 해결책 : 다른 방향에 대해 다른 조각을 가져서는 안됩니다. 그건 안드로이드에서 일하는 방식이 아니야. –
@Xaver Kapeller는 다른 결과를내는 다른 방법이 있습니다. 나는 당신이 자전하더라도 두 초상화 모두에 똑같은 것을 보여주기를 원한다. –