导入HoloEverywhere时出错
首先,我是Android新手。 我正在做一个应用程序,我正在实施一个名为HoloEverywhere的库。 这个库在themes.xml中使用库ActionBar Sherlock。 我已经导入到我的工作区ActionBar Sherlock,并将其添加到HoloEverywhere。 接下来,我添加了HoloEverywhere到我的项目,但是当我尝试使用它,我有一个错误(我试图使用一个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.
我把这个类的path放在我的布局中,像这样:
<com.WazaBe.HoloEverywhere.ButtonHolo android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/text" />
我怎样才能解决这个问题,并在我的项目中使用这个库? 谢谢:) PS。 对不起,我的英文,我知道这不是很好。
按照下面的步骤(从这里博客)添加ActionBarSherlock
- 下载 .zip / .tgz并解压缩
- 去日食并select
File->New-> Android Project
- select
Create project from existing source
,然后browse
到提取的AndroidBarSherlock
文件夹中的library
文件夹 - build立目标应该是最新的(14或15),但是你的minSdkVersion可以更less(7或8)
- 按
Finish
- 右键单击新创build的项目,然后转到“
Properties
。 - 在
Android
标题下,您应该看到一个带有checkboxIsLibrary
Library
部分。 确保已选中。 - 右键单击 – >在你想在
Android
标题下添加AndroidBarSherlock
的项目的AndroidBarSherlock
和Library
部分selectAdd
。 - 您应该看到
ActionBarSherlock
库,将其添加到您的项目 - 最后,如果您使用兼容性支持 ,则需要删除该jar,因为它包含在ActionBarSherlock中。
按照以下步骤添加HoloEverywhere
- 从GitHub 下载 Zip到您的电脑
- 解压缩文件夹
- 去日食并select
File->New-> Android Project
- select
Create project from existing source
,然后browse
到提取的文件夹内的HoloEverywhereLib
文件夹 - 按
Finish
- 右键单击新创build的项目,然后转到“
Properties
。 - 在
Android
标题下,您应该看到一个带有checkboxIsLibrary
Library
部分。 确保已选中并按下Add
并且之前添加了库ActionBarSherlock
。
按照以下步骤将HoloEverywhere
添加到您的项目
- 创build一个新的Android项目
- 右键单击项目 – >属性 – > Android – >添加,添加
ActionBarSherlock
和HoloEverywhere
-
将
Android Manifest
更改为以下内容<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Holo.Theme">
-
编辑你的
main.xml
以包含Holo主题小部件。 -
改变你的
activity
如下public class ChkActionBarSherlock extends SherlockActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
看起来
android:theme="@style/Theme.HoloEverywhereDark.Sherlock"
导致错误。
更改:
android:theme="@style/Holo.Theme"
在这里:
Github上
正确!
我在我的项目上有同样的错误,这是我所做的,右键单击HoloEverywhere(属性 – > android->库)从列表中删除ActionBarSherlock,然后通过单击添加重新添加ActionBarSherlock项目,之后,清理项目和所有的错误将消失。
ActionBarSherlock的创始人Jake Wharton在Google+上宣布,ActionBarSherlock的进一步发展已经停止。 ActionBarSherlock 4.4是最后一个版本,可能会修复错误 – 但不会有任何新function:
虽然在未来几周内可能会有一两个点的发布,但4.4版本正在成为The Last Release™。
https://plus.google.com/+JakeWharton/posts/F3HkWY9J8fK
当我在holoeverywhere问题论坛上问及由开发人员回答:
自2.0版以来,HoloEverywhere对ABS没有任何依赖性
所以你不应该再使用ABS了,从你的项目中删除这个库,直接replace它或者直接replace它,或者用谷歌支持库中的ActionbarCompatreplace它。