java.displaces를 클릭합니다.부정 인수예외:AppCompat는 현재 테마 기능을 지원하지 않습니다.
프로젝트를 이클립스에서 안드로이드 스튜디오로 이행하려고 했습니다.드디어 실행할 수 있게 되었습니다만, 어느 시점에서는 다음과 같은 예외가 발생했지만, 구글에서는 아무것도 찾을 수 없었습니다.
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. 메인 액티비티 라인:
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를 선택한 다음 도구 모음을 일반으로 설정합니다.
테마가 다음 날짜의 자식인지 확인하십시오.Theme.AppCompat.NoActionBar
, 그 후,styles.xml
:
<style name="MyMaterialTheme" parent="Theme.AppCompat.NoActionBar">
<item name="windowNoTitle">true</item>
...
</style>
덧붙여서, 이것은 Support Library 22.1의 새로운 문제입니다.
전화하면 확인setContentView()
끝나고super.onCreate()
, 이전엔 없었어요.제 경우에는 이게 도움이 됐어요.
Style.xml parent="에서 이 부모 사용Theme.AppCompat.Light.NoActionBar"
저 같은 경우에는 로 바꾸지 않았습니다.NoActionBar Theme. 이 항목에서 안드로이드 접두사를 제거합니다.
<item name="windowActionBar">false</item>
에러가 사라집니다.
꼭 확인해 주세요
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
이 모든 것의 최고가 될 것이다.행운을 빈다.
추가했다면<item name="windowActionBar">false</item>
, 그 다음에, 를 추가할 필요가 있습니다.
<item name="windowNoTitle">true</item>
문제를 해결합니다.
이와 같이 gradle에 의존을 더하다.
compile 'com.android.support:appcompat-v7:21.0.3'
AppCompatActivity를 확장하는 메인 액티비티를 통해 문제를 해결했습니다. :)
어느 정도 같은 문제가 있었습니다만, 제거되었습니다.android:
아래와 같이 syles.xml에서 입수합니다.
<!-- 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>
라이브러리 버전을 22.0.0에서 22.1.1로 업그레이드하고 이전 버전인 com.android로 되돌렸을 때도 같은 문제가 있었습니다.지원: appcompat-v7:22.0.0을 사용하여 호환성 라이브러리의 새 버전에서 필요한 액티비티 클래스에서 AppCompatActivity가 아닌 ActionBarActivity를 사용하여 돌아갑니다.나중에 다시 해보겠습니다.
스타일대로 사용하세요.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);
}
}
자바 클래스 변경Main extends ActionBarActivity
로.Main extends Activity
.그것은 나에게 효과가 있었다.
제 경우 @rewriethhhyesh의 답변을 찾았는데, 요소의 순서를 반대로 한 것을 알 수 있었습니다.에서 변경하다
setContentView(R.layout.activity_test);
super.onCreate(savedInstanceState);
로.
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
내 문제를 해결해라.
도움이 되었으면 좋겠다!!
언급URL : https://stackoverflow.com/questions/29784124/java-lang-illegalargumentexception-appcompat-does-not-support-the-current-theme
'sourcecode' 카테고리의 다른 글
MacOSX homebrew mysql 루트 패스워드 (0) | 2022.09.04 |
---|---|
Java에서 창을 중앙에 배치하는 방법 (0) | 2022.09.04 |
OSX Yosemite로 "업그레이드"한 후 RStudio/R에서 rJava 로드 오류 발생 (0) | 2022.09.04 |
MariaDB 10.1에서 비활성 날짜 값을 제거하려면 어떻게 해야 합니까? (0) | 2022.09.04 |
mysql에서 에폭 번호를 사람이 읽을 수 있는 날짜로 변환하는 중 (0) | 2022.09.04 |