导入HoloEverywhere时出错

Ale*_*s95 14 android themes actionbarsherlock android-holo-everywhere

首先,我是Android新手.我正在做一个应用程序,我正在实现一个名为HoloEverywhere的库.这个库在themes.xml中使用了ActionBar Sherlock库.我已导入到我的工作区ActionBar Sherlock,我已将其添加到HoloEverywhere.接下来,我已将HoloEverywhere添加到我的项目中,但是当我尝试使用它时,我有一个错误(我尝试使用按钮):

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.
Run Code Online (Sandbox Code Playgroud)

我把类的路径放在我的布局中,如下所示:

<com.WazaBe.HoloEverywhere.ButtonHolo
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/text" />
Run Code Online (Sandbox Code Playgroud)

我如何解决这个问题并在我的项目中使用这个库?谢谢:) PS.对不起我的英语,我知道这不是很好.

Gau*_*wal 40

按照以下步骤(取自此处的博客)添加ActionBarSherlock

  1. 下载 .zip/.tgz并解压缩
  2. 去eclipse并选择 File->New-> Android Project
  3. 选择Create project from existing source,然后browselibrary提取的文件夹里面AndroidBarSherlock的文件夹
  4. Build Target应该是最新的(14或15),但你的minSdkVersion可以更少(7或8)
  5. Finish
  6. 右键单击新创建的项目,然后转到Properties.
  7. Android标题下,您应该看到一个Library带有复选框的部分IsLibrary.确保已选中.
  8. 右键单击 - > AndroidBarSherlockAndroid标题下Library选择要添加的项目的属性,然后选择该部分Add.
  9. 您应该看到ActionBarSherlock库,将其添加到您的项目中
  10. 最后,如果您使用兼容性支持,则需要删除该jar,因为它包含在ActionBarSherlock中.

按照以下步骤添加HoloEverywhere

  1. 从GitHub 下载 Zip到您的计算机
  2. 解压缩文件夹
  3. 去eclipse并选择 File->New-> Android Project
  4. 选择Create project from existing source,然后browseHoloEverywhereLib解压文件夹内的文件夹
  5. Finish
  6. 右键单击新创建的项目,然后转到Properties.
  7. Android标题下,您应该看到一个Library带有复选框的部分IsLibrary.确保已选中并按下Add以前添加的库ActionBarSherlock.

请按照以下步骤添加HoloEverywhere到您的项目中

  1. 创建一个新的Android项目
  2. 右键单击项目 - >属性 - > Android - >添加,添加ActionBarSherlockHoloEverywhere
  3. Android Manifest将以下内容更改为

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Holo.Theme">

  4. 编辑您main.xml包括Holo主题小部件.

  5. 改变你activity的如下

    public class ChkActionBarSherlock extends SherlockActivity {
        @Override
         public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • **[编码乌鸦](http://stackoverflow.com/users/932307/coding-crow)**的答案是非常有用的但是""段落中缺少一步:库**android-support应删除ActionSherlock projet的"*libs*"文件夹中的-v4**,并将其替换为HoloEverywhere zip文件夹中的**android-support-v4-r13.jar**. (2认同)

dai*_*jia 8

看起来

android:theme="@style/Theme.HoloEverywhereDark.Sherlock"
Run Code Online (Sandbox Code Playgroud)

导致错误.

更改:

android:theme="@style/Holo.Theme"
Run Code Online (Sandbox Code Playgroud)

在这里:

Github上

正确!