2015-02-05 2 views
0

Android 프로젝트에 문제가 있습니다. 휴대 전화 및 태블릿을위한 다양한 레이아웃을 만들고 있지만 몇 가지 문제가 있습니다. 이러한 레이아웃은 다른 조각을 사용합니다. 이 내 MainActivity에서 onCreate 방법입니다 :방향 전환 후 활동이 다시 시작되지 않습니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_navigation); 

    if (isTablet(this.getApplicationContext()) && 
      getResources().getConfiguration().orientation 
      == Configuration.ORIENTATION_LANDSCAPE){ 
     mNavigationFragment = (NavigationFragment) 
       getSupportFragmentManager().findFragmentById(R.id.navigation); 

    } else { 
     mNavigationDrawerFragment = (NavigationDrawerFragment) 
       getSupportFragmentManager().findFragmentById(R.id.navigation_drawer); 
     // Set up the drawer. 
     mNavigationDrawerFragment.setUp(
       R.id.navigation_drawer, 
       (DrawerLayout) findViewById(R.id.drawer_layout)); 

    } 

    mTitle = getTitle(); 

    getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() { 

     @Override 
     public void onBackStackChanged() { 
      Fragment f = getSupportFragmentManager().findFragmentById(R.id.container); 
      if (f != null){ 
       updateTitleAndDrawer (f); 
      } 

     } 
    }); 
} 

그리고 이것은 isTablet 방법 :

public static boolean isTablet(Context context) { 
    return (context.getResources().getConfiguration().screenLayout 
      & Configuration.SCREENLAYOUT_SIZE_MASK) 
      >= Configuration.SCREENLAYOUT_SIZE_LARGE; 
} 

하지만 레이아웃이 변경되지 않는 방향을 변경할 때 점이다. 조언을 좀 해줄 수 있니?

, 나는 AndroidManifest를에 다음 줄을 언급하는 것을 잊었다

android:configChanges="keyboardHidden|orientation|screenSize"> 
+0

에서 onCreate 방법 오리엔테이션 변경 후 전화 걸기 여부 – user543

+0

'layout-land'라는 폴더를 생성합니까? 가로 레이아웃을 유지하려면? – Josef

+0

예 레이아웃 랜드 폴더가 있습니다. –

답변

1

당신이 당신의 mainActivity에 추가해야합니다

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

} 

하고 manifiest에 추가 :

<activity 
    android:configChanges="orientation" 
</activity> 
+0

죄송합니다. 매니 페스트 android에서 followin 라인을 사용하는 것을 잊어 버렸습니다. configChanges = "keyboardHidden | orientation | screenSize" 그리고 여전히 귀하의 조언과 함께 작동하지 않습니다. –

+0

실제로 onConfigurationChanged에 추가했습니다. finish(); startActivity (getIntent()); 이제 활동이 다시 시작됩니다. –