【发布时间】: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.NullPointerException 和 this stack trace 和 @987654333 @ 和this stack trace。根据“初始化项目状态”堆栈跟踪中提到的 IOException,我推测问题可能是我的 Android SDK 安装位置:%APPDATA%\Local\Android。我终于尝试卸载 SDK 并将其重新安装到 %PROGRAMFILES%\Android 但没有任何运气。
我不确定从这里去哪里。如果有人能给我指点正确的方向,我将不胜感激!
【问题讨论】:
-
参考第二个答案...stackoverflow.com/questions/12376151/…
-
你是在建议我推出自己的 GridLayout 等价物吗?这绝对是一个有趣的想法,但我不确定我对 Droid 编码有足够的了解,还不能正确地做到这一点。
标签: android eclipse android-support-library android-gridlayout