First of all, I am new with Android. I am doing an app, and I am implementing a library called HoloEverywhere. This library use in the themes.xml the library ActionBar Sherlock. I have imported to my workspace ActionBar Sherlock and I have added it to HoloEverywhere. Next, I have added HoloEverywhere to my project, but when I try to use it, I have an error (I tried to use a button):
The following classes could not be instantiated:
- com.WazaBe.HoloEverywhere.ButtonHolo (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse.
I put the path of the class in my layout, like this:
<com.WazaBe.HoloEverywhere.ButtonHolo
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/text" />
How I can solve this problem and use this library in my project?. Thanks :) PS. Sorry for my english, I know it is not very good.
Follow the steps below(taken from blog here) to add ActionBarSherlock
- Download the .zip/.tgz and extract it
- Go to eclipse and choose
File->New-> Android Project
- Select
Create project from existing source
and thenbrowse
to thelibrary
folder inside extractedAndroidBarSherlock
folder - Build Target should be the latest(14 or15), but your minSdkVersion can be less (7 or 8)
- Press
Finish
- Right click on the newly created project and go to
Properties
. - Under the
Android
heading, you should see a section forLibrary
with a checkboxIsLibrary
. Make sure that's checked. - Right click -> Properies on the project in which you wish to add
AndroidBarSherlock
under theAndroid
heading and theLibrary
section chooseAdd
. - You should see the
ActionBarSherlock
library, add this to your project - Lastly, if you were using the compatibility support , you need to delete that jar since it's included in ActionBarSherlock.
Follow the steps below to add HoloEverywhere
- Download Zip from GitHub to your computer
- UnZip the folder
- Go to eclipse and choose
File->New-> Android Project
- Select
Create project from existing source
and thenbrowse
to theHoloEverywhereLib
folder inside extracted folder - Press
Finish
- Right click on the newly created project and go to
Properties
. - Under the
Android
heading, you should see a section forLibrary
with a checkboxIsLibrary
. Make sure that's checked and pressAdd
and previously added libraryActionBarSherlock
.
Follow these steps to add HoloEverywhere
to your project
- Create a new Android project
- Right Click on project -> Properties -> Android -> Add, add both
ActionBarSherlock
andHoloEverywhere
Change the
Android Manifest
to following<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Holo.Theme">
Edit you
main.xml
to include Holo theme widgets.Change your
activity
as followspublic class ChkActionBarSherlock extends SherlockActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
It seems that
android:theme="@style/Theme.HoloEverywhereDark.Sherlock"
cause an error.
change it:
android:theme="@style/Holo.Theme"
resons here:
correct!
I had the same error on my project, This is what I did, right click the HoloEverywhere (properties->android->library) remove the ActionBarSherlock from the list then re-add the ActionBarSherlock project by click add, after that clean up the project and all errors will disappear.
The creator of ActionBarSherlock, Jake Wharton, announced on Google+ that further development of ActionBarSherlock has been stopped. ActionBarSherlock 4.4 is the last release and might get bug fixes – but there won’t be any new features:
While there may be a dot release or two in the coming weeks, version 4.4 is shaping up to be The Last Release™.
https://plus.google.com/+JakeWharton/posts/F3HkWY9J8fK
As i asked on holoeverywhere issues forum and answered by devs:
HoloEverywhere doesn't have any dependency with ABS since v2.0
So you should not use ABS anymore and remove the library from your project and replace it holoeverywhere directly or with ActionbarCompat from google support library.
来源:https://stackoverflow.com/questions/10608539/error-importing-holoeverywhere