Android 에서 Fragment 를 이용해 Tab Bar 를 만들었는데 오류가 발생하여 질문드립니다.
조회수 3541회
public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
Fragment fragment1;
Fragment fragment2;
Fragment fragment3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowTitleEnabled(false);
//...
}
}
형식으로 MainActivity.java 속에 코딩을 했습니다. 빌드를 하면 'setSupportActionBar()' 에서 에러가 발생하는데 왜 이렇게 오류가 발생하는지 모르겠습니다.
오류 원인의 로그는 이렇게 나타납니다.
Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
기본 액션바가 지정된 상태에서 툴바를 액션바로 사용할 때 발생하는 에러입니다. 따라서 툴바를 액션바로 사용하기 위해서는 디폴트 액션바를 비활성화 시켜야 합니다. 가장 간단한 방법은 해당 액티비티 테마를 styles.xml 파일을 통해서
Theme.AppCompat.NoActionBar
를 상속받게 하는 것입니다.또는 액티비티 테마 속성에 다음을 추가하시기 바랍니다.
<item name="windowActionBar">false</item> <item name="windowNoTitle">true</item>
-
(•́ ✖ •̀)
알 수 없는 사용자
- 후자의 방법으로 /values/styles.xml 파일에 AppTheme 라는 스타일 태그 안에 아이템 태그 2개를 넣었는데 아무래도 지원하지 않는 듯 합니다. 제가 잘못하고 있는 것 같은데 전자의 방법을 하려면 android:theme="@style/ThemeOverlay.AppCompat.Dark" 부분을 수정하면 되는건가요? 알 수 없는 사용자 2016.9.8 01:50
-
댓글 입력