sourcecode

java.displaces를 클릭합니다.부정 인수예외:AppCompat는 현재 테마 기능을 지원하지 않습니다.

copyscript 2022. 9. 4. 21:49
반응형

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

반응형