为Eclipse设置Android支持包v7 - GridLayout

34

我整晚都在尝试这个,但无济于事,所以我将从头开始列出我的确切步骤。

  • 我通过SDK管理器安装了支持软件包。
  • 我创建了一个名为“testinggridlayout”的新的Android项目。
  • 我选择的构建目标是Android 2.1 API 7。
  • 列表项

这将是我想要在其上创建网格布局的项目。


以下是设置支持软件包的步骤:

  • 右键单击我刚创建的项目,然后选择 - 新建 - Android项目
  • 将其命名为GridLayout并选择从现有源代码创建项目,然后浏览到:

android-sdks\extras\android\support\v7\gridlayout

  • 右键单击我的testinggridlayout 项目,然后点击属性:
  • 在Java Build Path下,选择“项目”选项卡,然后选择添加。
  • 选择我的项目“GridLayout”,然后点击“确定”和“确定”。

此时

如果我进入main.xml布局,手动插入此代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<GridLayout
    android:background="#FFFFFF"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:columnCount="8"
    android:rowCount="5" >

</GridLayout>

</LinearLayout>

我遇到了以下错误:

无法找到以下类:- GridLayout(修复构建路径,编辑XML)。

如果我更改

<GridLayout> & </GridLayout>
  至
<android.support.v7.widget.GridLayout> & </android.support.v7.widget.Gridlayout>

我会收到相同的错误:

无法找到以下类:- android.support.v7.widget.GridLayout(修复构建路径,编辑XML)。

这时,我在项目中创建了一个名为“libs”的文件夹。

然后我将GridLayout项目中的android-support-v7-GridLayout.jar文件复制到此文件夹中。

我右键单击“testinggridlayout”中“libs”文件夹中的此文件,并选择“添加到构建路径”。

然后我的错误变成了:

无法实例化以下类:- android.support.v7.widget.GridLayout(打开类,显示错误日志)

我错过/不应该做哪一步?

7个回答

15

我使用Intellij Idea,所以不完全符合你的情况,但也许会有所帮助。我曾经花了一整天的时间来设置这个,后来它突然奏效了。我将描述我的设置,以便您可以进行比较:

  1. 将GridLayout项目设置为库项目。在android开发者网站 (链接) 中可以找到设置示例。
  2. 像往常一样设置 项目,并参照上述链接中的方法引用库项目。
  3. 向您的主项目添加库。我使用了最新的android-support-v13.jarandroid-support-v7-gridlayout.jar注意:我在项目中使用了v7支持库,而不是在库项目中。事实上,现在检查一下——在库项目中,我没有引用v7支持库。
  4. 在布局文件中使用完整的包名称:<android.support.v7.widget.GridLayout /> 而不是 <GridLayout />
  5. 在布局文件中使用自定义命名空间,例如: xmlns:grid="http://schemas.android.com/apk/res-auto",以便在标签中使用库项目中定义的自定义属性,如grid:columnCount

希望这能有所帮助。我目前正在尝试它,甚至不确定它是否是我需要的 :)


1
在我的情况下,Eclipse 要求安装支持包,但仍未识别它。对我来说,只使用 Android.support.v7.widget.GidLayout 就解决了这个问题。谢谢! - Niels

10
如果有人遇到相同的问题,下面是对我有效的解决方案:
在将项目导入工作区后,您需要使用 Android 标签而不是 Java Build Path 将其添加为依赖项。
项目 -> 属性 -> Android -> 库 -> [添加...]
我还选择了“是库”的选项。

5

从文件夹Android_SDK_folder\extras\android\support\v7\gridlayout\libs中复制android-support-v7-gridlayout.jar。然后将其粘贴到您的项目MyAndroidProject\libs文件夹中。


1
这还不够,你只是在复制一个文件。 - sports

4

support-v7-gridlayout.jar的第七个版本存在一些问题。 现在已更新到第八个版本,请查看compatibility-library只需更新即可。 别忘了为所有库和依赖项更改支持包,否则会出现不匹配的错误。


2

编辑您项目(以及库项目)的.classpath文件,像这样:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

将exported="true"属性添加到主项目和android-support-v7-gridlayout项目中的com.android.ide.eclipse.adt.ANDROID_FRAMEWORK classpathentry,然后重新启动Eclipse对我有效。 - Andrew Porritt

1
除了上面列出的建议外,我在Eclipse中预览网格布局之前还需要做一件事情:
  1. 右键单击项目android-support-v7-gridlayout。
  2. 转到属性> Java构建路径>库
  3. 将libs / android-support-v7-gridlayout.jar添加到库中。
  4. 转到顺序和导出,并检查在上一步中添加的jar。
希望能对你有所帮助!

0

要使7v示例(/extras/android/support/samples/Support7Demos/)正常工作,请执行以下操作:

  1. 从此处 /extras/android/support/v7 导入所有项目
  2. 为Support7Demos项目创建/libs目录
  3. 将这些项目的所有*.jar文件放入/libs目录中,并将它们添加到Support7Demos/libs中

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接