我是 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.
:(截图)
从错误日志中,
android.support.v7.widget.GridLayout failed to instantiate.
这是堆栈跟踪
我对这个错误的搜索出现了这个 SO thread,这似乎很有希望;我检查了我的 Java、Eclipse 和 ADT 版本,但似乎都是最新的(Java 7 update 17、Eclipse Juno 版本、ADT 21.1)。随着更新检查的结束,我查看了那个 SO 用户如何设置他的项目:gridlayout 的库项目,主项目中对该库的项目引用,以及复制到主项目库中的 gridlayout jar文件夹。在 Eclipse “安装兼容性库”消息之后,已经为我创建了一个 gridlayout 库项目,但尚未设置项目引用并且尚未复制 gridlayout jar。我做了这两件事,但 GridLayout 仍然无法实例化。
我继续搜索,发现另一个 SO 线程。尽管该线程没有使用 Eclipse,但我尝试将答案转换为 Eclipse 等价物,这与上面的线程给出的大致相同。(将 gridlayout jar 复制到项目的 libs 文件夹,从 gridlayout 创建一个库项目,并从主项目中添加对该库项目的项目引用。)我还验证了 gridlayout jar 位于主项目的构建路径上。(截图)
我还尝试按照相关的Styling Android blogpost中的说明进行操作,但情况更糟:当我尝试将 GridLayout 拖到我的项目中时,它会引发两个错误,一个RelativeLayoutRule.onDropped() failed:
java.lang.NullPointerException
with this stack trace和一个Initializing project state
with this stack trace。基于“初始化项目状态”堆栈跟踪中提到的 IOException,我推测问题可能是我的 Android SDK 安装位置:%APPDATA%\Local\Android
. 我终于尝试卸载 SDK 并重新安装它,%PROGRAMFILES%\Android
但没有任何运气。
我真的不知道从这里去哪里。如果有人能给我一个正确方向的指示,我将不胜感激!