java.lang.IllegalArgumentException : AppCompat가 현재 테마 기능을 지원하지 않습니다
Eclipse에서 Android studio로 프로젝트를 마이그레이션하려고했습니다. 마지막으로 실행할 수는 있지만 특정 시점 에서이 예외가 발생하여 Google에서 이것에 대해 아무것도 발견하지 못했습니다.
04-22 00:08:15.484 9891-9891/hu.illion.kwindoo E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{hu.illion.kwindoo/hu.illion.kwindoo.activity.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
...
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
at hu.illion.kwindoo.activity.MainActivity.onCreate(MainActivity.java:73)
at android.app.Activity.performCreate(Activity.java:5047)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
...
73. MainActivity 라인은 다음과 같습니다.
setContentView(R.layout.activity_main);
할 수 있으면 조언 해주세요.
@sbaar의 답변에 대한 대안,
유지 windowActionBar
로 false
하고 추가 windowNoTitle
로 잘으로 설정합니다 true
.
즉
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
없애다
<item name="windowActionBar">false</item>
테마에서 .NoActionBar 테마에서 상속했는지 확인한 다음 툴바를 일반처럼 설정하십시오.
에서 테마가 Theme.AppCompat.NoActionBar
다음에 있는지 확인하십시오 styles.xml
.
<style name="MyMaterialTheme" parent="Theme.AppCompat.NoActionBar">
<item name="windowNoTitle">true</item>
...
</style>
Btw, 지원 라이브러리 22.1의 새로운 문제입니다.
이전이 아닌 super.onCreate () 이후에 setContentView ()를 호출하는지 확인하십시오. 이것은 내 경우에 도움이되었습니다.
Style.xml에서이 부모를 사용하십시오. parent = "Theme.AppCompat.Light.NoActionBar"
내 경우에는 .NoActionBar 테마로 변경하지 않았습니다. 이 항목에서 안드로이드 접두사를 제거합니다.
<item name="windowActionBar">false</item>
오류가 사라집니다.
확인하십시오
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
이것이 나를 위해 작동하는 모든 것의 상단에 있습니다 .... 행운을 빕니다
이와 같이 gradle에 종속성을 추가하십시오.
compile 'com.android.support:appcompat-v7:21.0.3'
AppCompatActivity를 확장하는 주요 활동으로 문제를 해결했습니다. :)
라이브러리 버전을 22.0.0에서 22.1.1로 업그레이드하고 이전 버전으로 다시 드롭하여 수정 한 경우 동일한 문제가 발생했습니다. 최신 버전의 호환성 라이브러리에 필요한 내 활동 클래스의 AppCompatActivity가 아닙니다. 나중에 다시 시도하겠습니다.
style.xml에서 이것을 사용하면 다른 편집이 필요하지 않습니다.
<style name="AppTheme" parent="Theme.AppCompat">
<!-- theme customizations -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
활동 파일에 아무것도 추가하지 마십시오
public class Main extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
In Java class change Main extends ActionBarActivity
to Main extends Activity
. It worked for me.
In my case, I look for @rewrihitesh answer, and I notice that I inverted elements order. Changing from
setContentView(R.layout.activity_test);
super.onCreate(savedInstanceState);
to
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Fix my problem.
Hope it helps !!
if you have added <item name="windowActionBar">false</item>
, then ,you need to add
<item name="windowNoTitle">true</item>
to solve the problem.
I had same issue somewhat, removed android:
from my syles.xml as per below;
<!-- caused crash -->
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<!-- didn't cause crash -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
'program story' 카테고리의 다른 글
HTML5 캔버스에 점 그리기 (0) | 2020.08.06 |
---|---|
DIV를 가로 및 세로 가운데에 (0) | 2020.08.06 |
두 지리적 지점 사이의 거리를 가져옵니다 (0) | 2020.08.06 |
MKMapView의 확대 / 축소 수준 설정 (0) | 2020.08.06 |
NA의 특정 열을 포함하는 행 생략 (0) | 2020.08.06 |