具体的报错信息为:
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
出现这个问题是因为我在AndroidManifest.xml文件中的activity设置了theme,而且用的不是@style/Theme.AppCompat.等等。
然后我就直接改为@style/Theme.AppCompat.啥啥的,就可以了不报错了。
报错的原因是因为的这个Activity继承了AppCompatActivity。
在AppCompatActivity类的文件中有一句说明
/**
* Base class for activities that use the
* <a href="{@docRoot}tools/extras/support-library.html">support library</a> action bar features.
*
* <p>You can add an {@link android.support.v7.app.ActionBar} to your activity when running on API level 7 or higher
* by extending this class for your activity and setting the activity theme to
* {@link android.support.v7.appcompat.R.style#Theme_AppCompat Theme.AppCompat} or a similar theme.
* ……
*/
public class AppCompatActivity extends FragmentActivity implements AppCompatCallback,
TaskStackBuilder.SupportParentable, ActionBarDrawerToggle.DelegateProvider {
……
}
所以我推测只要继承了AppCompatActivity的类的theme必须是以@style/Theme.AppCompat开头的,这样就不会报错了。
如果有错,希望留言纠正,谢谢!