【问题标题】:Eclipse and Android SL GridLayout not working together - "android.support.v7.widget.GridLayout could not be instantiated"Eclipse 和 Android SL GridLayout 不能一起工作 - “android.support.v7.widget.GridLayout 无法实例化”
【发布时间】:2013-03-26 19:50:51
【问题描述】:

我是 Android 开发新手,所以这可能是一个简单的问题。抱歉,我花了很长时间搜索,但找不到任何有用的东西。

我正在尝试在我的项目中使用 GridLayout,但最好使用 Android 支持库,这样我就可以针对较低版本的 API。当我将 GridLayout 拖到图形布局设计器中时,会弹出一条消息,询问我需要一个用于 14 之前的 API 版本的兼容性库,并询问我是否要安装这个库。我点击“安装”并让 Eclipse 完成它的工作,但 Eclipse 图形布局设计器中出现错误: The following classes could not be instantiated: - android.support.v7.widget.GridLayout See the Error Log ( Window > Show View) for more details. (Screenshot)

从错误日志中, android.support.v7.widget.GridLayout failed to instantiate.Here's the stack trace

我对这个错误的搜索出现了this SO thread,这看起来很有希望;我检查了我的 Java、Eclipse 和 ADT 版本,但似乎都是最新的(Java 7 update 17、Eclipse Juno 版本、ADT 21.1)。随着更新检查的结束,我查看了那个 SO 用户如何设置他的项目:gridlayout 的库项目,主项目中对该库的项目引用,以及复制到主项目库中的 gridlayout jar文件夹。在 Eclipse “安装兼容性库”消息之后,已经为我创建了一个 gridlayout 库项目,但尚未设置项目引用并且尚未复制 gridlayout jar。我做了这两件事,但 GridLayout 仍然无法实例化。

我继续搜索,找到了another SO thread。尽管该线程没有使用 Eclipse,但我尝试将答案转换为 Eclipse 等价物,这与上面的线程给出的大致相同。 (将 gridlayout jar 复制到项目的 libs 文件夹,从 gridlayout 创建一个库项目,并从主项目中添加对该库项目的项目引用。)我还验证了 gridlayout jar 位于主项目的构建路径上。 (Screenshot)

我还尝试按照相关 Styling Android blogpost 中的说明进行操作,但情况更糟:当我尝试将 GridLayout 拖到我的项目中时,它会引发两个错误,RelativeLayoutRule.onDropped() failed: java.lang.NullPointerExceptionthis stack trace 和 @987654333 @ 和this stack trace。根据“初始化项目状态”堆栈跟踪中提到的 IOException,我推测问题可能是我的 Android SDK 安装位置:%APPDATA%\Local\Android。我终于尝试卸载 SDK 并将其重新安装到 %PROGRAMFILES%\Android 但没有任何运气。

我不确定从这里去哪里。如果有人能给我指点正确的方向,我将不胜感激!

【问题讨论】:

  • 你是在建议我推出自己的 GridLayout 等价物吗?这绝对是一个有趣的想法,但我不确定我对 Droid 编码有足够的了解,还不能正确地做到这一点。

标签: android eclipse android-support-library android-gridlayout


【解决方案1】:

尝试: File->Import->Existing Android code into workspace 指定 android-sdk-[platform]/extras/android/support/v7/gridlayout

您需要将 GridLayout 项目作为 Android 库项目导入才能正常工作。

【讨论】:

  • 我确实尝试了几次,但没有成功。可能应该在我的 OP 中提到这一点。
  • 终于让它工作了——我认为这是多种因素的结合。我最终将 Android SDK 重新安装到没有空格的路径,将我的 JDK 从版本 7 降级到版本 6,并按照您的建议直接导入了 GridLayout 项目。给你答案,因为我不确定我是否需要在你的帖子之前使用支持库的 .jar 或项目。谢谢!
【解决方案2】:

我的意思是清除你的构建路径...

试试这个:

右击你的项目->属性->java构建路径->order and export where tick mark all option

【讨论】:

  • 我刚刚新建了一个项目,拖了一个GridLayout进去,让Eclipse安装兼容库。我检查了自动生成的 gridlayout 项目是否被标记为库 - 一切都很好。我的项目引用了 Properties->Android 中的 gridlayout 项目——一切都很好。 gridlayout_v7.jar 位于 Properties->Java Build Path ->Libraries->Android Dependencies 中的构建路径上——一切都很好。在 Properties->Java Build Path->Order and Export 中,所有内容都已检查 - 一切正常。但由于某种原因,我仍然收到“无法实例化”错误。还有其他想法吗?
  • 然后在下面的链接中尝试另一个想法stackoverflow.com/questions/12376151/…
猜你喜欢
  • 1970-01-01
  • 2018-07-23
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-18
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多