Ok, so im a beginner in android development and I just created the hello world app. But it's giving me errors in styles_base.xml
file of appcompat_v7
library.
error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'. styles_base.xml /appcompat_v7/res/values-v21
AAPT Problem
How do i take care of this error? Also why is the appcompat_v7 library being used when I don't want it? I mean how do I create the hello world app without using the appcompat_v7 library?
This is the styles_base.xml
file which is giving the above error.
<resources>
<!-- Like in themes_base.xml, the namespace "*.AppCompat.Base" is used to
define base styles for the platform version. The "*.AppCompat"
variants are for direct use or use as parent styles by the app. -->
<eat-comment/>
<style name="Base.Widget.AppCompat.ActionBar.TabView"
parent="android:Widget.Material.ActionBar.TabView">
</style>
<style name="Base.Widget.AppCompat.Light.ActionBar.TabView"
parent="android:Widget.Material.Light.ActionBar.TabView">
</style>
<style name="Base.Widget.AppCompat.ActionBar.TabText"
parent="android:Widget.Material.ActionBar.TabText">
</style>
<style name="Base.Widget.AppCompat.Light.ActionBar.TabText"
parent="android:Widget.Material.Light.ActionBar.TabText">
</style>
<style name="Base.Widget.AppCompat.Light.ActionBar.TabText.Inverse"
parent="android:Widget.Material.Light.ActionBar.TabText">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu"
parent="android:TextAppearance.Material.Widget.ActionBar.Menu">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title"
parent="android:TextAppearance.Material.Widget.ActionBar.Title">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle"
parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
parent="android:TextAppearance.Material.Widget.ActionBar.Title.Inverse">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse"
parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle.Inverse">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionMode.Title"
parent="android:TextAppearance.Material.Widget.ActionMode.Title">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.ActionMode.Subtitle"
parent="android:TextAppearance.Material.Widget.ActionMode.Subtitle">
</style>
<!-- Action Button Styles -->
<style name="Base.Widget.AppCompat.ActionButton"
parent="android:Widget.Material.ActionButton">
</style>
<style name="Base.Widget.AppCompat.ActionButton.CloseMode"
parent="android:Widget.Material.ActionButton.CloseMode">
</style>
<style name="Base.Widget.AppCompat.ActionButton.Overflow"
parent="android:Widget.Material.ActionButton.Overflow">
</style>
<!--
Widget.AppCompat.Toolbar style is purposely ommitted. This is because the support
Toolbar implementation is used on ALL platforms and relies on the unbundled attrs.
The supporting Toolbar styles below only use basic attrs so work fine.
-->
<style name="Base.Widget.AppCompat.Toolbar.Button.Navigation"
parent="android:Widget.Material.Toolbar.Button.Navigation">
</style>
<style name="Base.TextAppearance.Widget.AppCompat.Toolbar.Title"
parent="android:TextAppearance.Material.Widget.ActionBar.Title">
</style>
<style name="Base.TextAppearance.Widget.AppCompat.Toolbar.Subtitle"
parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle">
</style>
<!-- Spinner Widgets -->
<style name="Base.Widget.AppCompat.ListView.DropDown"
parent="android:Widget.Material.ListView.DropDown"/>
<style name="Base.Widget.AppCompat.DropDownItem.Spinner"
parent="android:Widget.Material.DropDownItem.Spinner"/>
<style name="Base.Widget.AppCompat.Spinner" parent="android:Widget.Material.Spinner" />
<style name="Base.Widget.AppCompat.Spinner.DropDown.ActionBar" parent="android:Widget.Material.Spinner">
<item name="spinnerMode">dropdown</item>
<item name="disableChildrenWhenDisabled">true</item>
<item name="popupPromptView">@layout/abc_simple_dropdown_hint</item>
</style>
<style name="Base.Widget.AppCompat.ListView.Menu"
parent="android:Widget.Material.ListView" />
<!-- Popup Menu -->
<style name="Base.Widget.AppCompat.ListPopupWindow" parent="android:Widget.Material.ListPopupWindow">
</style>
<style name="Base.Widget.AppCompat.PopupMenu" parent="android:Widget.Material.PopupMenu">
</style>
<style name="Base.Widget.AppCompat.Light.PopupMenu"
parent="android:Widget.Material.Light.PopupMenu">
</style>
<style name="Base.Widget.AppCompat.PopupMenu.Overflow">
<item name="android:dropDownHorizontalOffset">-4dip</item>
<item name="android:overlapAnchor">true</item>
</style>
<style name="Base.Widget.AppCompat.Light.PopupMenu.Overflow">
<item name="android:dropDownHorizontalOffset">-4dip</item>
<item name="android:overlapAnchor">true</item>
</style>
<style name="Base.TextAppearance.AppCompat.Widget.PopupMenu.Large"
parent="android:TextAppearance.Material.Widget.PopupMenu.Large">
</style>
<style name="Base.TextAppearance.AppCompat.Widget.PopupMenu.Small"
parent="android:TextAppearance.Material.Widget.PopupMenu.Small">
</style>
<style name="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Large"
parent="android:TextAppearance.Material.Widget.PopupMenu.Large">
</style>
<style name="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Small"
parent="android:TextAppearance.Material.Widget.PopupMenu.Small">
</style>
<!-- Search View result styles -->
<style name="Base.TextAppearance.AppCompat.SearchResult.Title"
parent="@android:TextAppearance.Material.SearchResult.Title">
</style>
<style name="Base.TextAppearance.AppCompat.SearchResult.Subtitle"
parent="@android:TextAppearance.Material.SearchResult.Subtitle">
</style>
<style name="Base.Widget.AppCompat.AutoCompleteTextView" parent="android:Widget.Material.AutoCompleteTextView" />
<style name="Base.Widget.AppCompat.Light.AutoCompleteTextView" parent="android:Widget.Material.AutoCompleteTextView" />
<!-- Progress Bar -->
<style name="Base.Widget.AppCompat.ProgressBar.Horizontal"
parent="android:Widget.Material.ProgressBar.Horizontal">
</style>
<style name="Base.Widget.AppCompat.ProgressBar"
parent="android:Widget.Material.ProgressBar">
</style>
<!-- TODO. Needs updating for Material -->
<style name="Base.Widget.AppCompat.ActivityChooserView" parent="">
<item name="android:gravity">center</item>
<item name="android:background">@drawable/abc_ab_share_pack_holo_dark</item>
<item name="android:divider">?attr/dividerVertical</item>
<item name="android:showDividers">middle</item>
<item name="android:dividerPadding">6dip</item>
</style>
This is the code I'm using:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Go to your Android SDK installed directory then extras > android > support > v7 > appcompat.
in my case : D:\Software\adt-bundle-windows-x86-20140702\sdk\extras\android\support\v7\appcompat
once you are in appcompat folder ,check for project.properties file then change the value from default 19 to 21 as :
target=android-21.
Save the file and then refresh your project.
Then clean the project: In project tab , select clean option then select your project and clean...
This will resolve the error. If not, make sure your project also targets API 21 or higher (same steps as before, and easily forgotten when upgrading a project which targets an older version). Enjoy coding...