2017-01-15 39 views
-2

每当我在设备上运行应用程序时,它都不会打开。RuntimeException - AppCompat不支持当前的主题功能

01-15 18:55:18.264 4285-4285/com.example.adeel.lfc_news E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.example.adeel.lfc_news, PID: 4285 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.adeel.lfc_news/com.example.adeel.lfc_news.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false } 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2658) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 
                      at android.app.ActivityThread.access$900(ActivityThread.java:172) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:145) 
                      at android.app.ActivityThread.main(ActivityThread.java:5832) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at java.lang.reflect.Method.invoke(Method.java:372) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
                     Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false } 
                      at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:458) 
                      at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312) 
                      at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                      at com.example.adeel.lfc_news.MainActivity.onCreate(MainActivity.java:24) 
                      at android.app.Activity.performCreate(Activity.java:6221) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2611) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)  
                      at android.app.ActivityThread.access$900(ActivityThread.java:172)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:145)  
                      at android.app.ActivityThread.main(ActivityThread.java:5832)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at java.lang.reflect.Method.invoke(Method.java:372)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)  

MainActivity代码

package com.example.adeel.lfc_news; 

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import android.support.design.widget.TabLayout; 

import com.example.adeel.lfc_news.Fragments.CardContentFragment; 
import com.example.adeel.lfc_news.Fragments.ListContentFragment; 
import com.example.adeel.lfc_news.Fragments.TileContentFragment; 

import java.util.ArrayList; 
import java.util.List; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // Adding Toolbar to Main screen 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     // Setting ViewPager for each Tabs 
     ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); 
     setupViewPager(viewPager); 
     // Set Tabs inside Toolbar 
     TabLayout tabs = (TabLayout) findViewById(R.id.tabs); 
     tabs.setupWithViewPager(viewPager); 
    } 

    // Add Fragments to Tabs 
    private void setupViewPager(ViewPager viewPager) { 
     Adapter adapter = new Adapter(getSupportFragmentManager()); 
     adapter.addFragment(new ListContentFragment(), "List"); 
     adapter.addFragment(new TileContentFragment(), "Tile"); 
     adapter.addFragment(new CardContentFragment(), "Card"); 
     viewPager.setAdapter(adapter); 
    } 

    static class Adapter extends FragmentPagerAdapter { 
     private final List<Fragment> mFragmentList = new ArrayList<>(); 
     private final List<String> mFragmentTitleList = new ArrayList<>(); 

     public Adapter(FragmentManager manager) { 
      super(manager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      return mFragmentList.get(position); 
     } 

     @Override 
     public int getCount() { 
      return mFragmentList.size(); 
     } 

     public void addFragment(Fragment fragment, String title) { 
      mFragmentList.add(fragment); 
      mFragmentTitleList.add(title); 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return mFragmentTitleList.get(position); 
     } 
    } 
} 

activity_main.xml中下面

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </android.support.design.widget.AppBarLayout> 
    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 
</android.support.design.widget.CoordinatorLayout> 
+0

似乎它有你的主题的问题,分享你的代码。 –

+0

@shahzainali添加了更多你需要的代码吗? – SG81

+0

我认为这与您如何定义或正在使用ActionBar有关。我认为你应该有'import android.support.v7.app.ActionBar;'作为导入,然后当获得ActionBar时使用'youractionbar = getSupportActionBar();'然后使用可用的方法。但是,你应该真的发布你的代码。 – MikeT

回答

0

这是你的错误的相关部分:

AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }

要么确保您的应用不使用这些功能或启用这些功能。

相关问题