我是Android开发的新手,所以这可能是一个简单的问题。如果是的话道歉 - 我花了很长时间搜索但找不到任何有用的东西。
我正在尝试在我的项目中使用GridLayout,但理想情况下使用Android支持库,因此我可以定位较低版本的API。当我将GridLayout拖到图形布局设计器中时,会弹出一条消息,询问我需要一个14岁以上API版本的兼容性库,并询问我是否要安装此库。我点击了“Install”并让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更新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
{{3}和Initializing project state
%APPDATA%\Local\Android
和this stack trace。根据“初始化项目状态”堆栈跟踪中提到的IOException,我推测问题可能是Android SDK的安装位置:%PROGRAMFILES%\Android
。我终于尝试卸载SDK并将其重新安装到{{1}}但没有任何运气。
我不确定从哪里开始。如果有人能给我指向正确的方向,我真的很感激!
答案 0 :(得分:2)
尝试: File-> Import->现有Android代码到工作区 指定android-sdk- [platform] / extras / android / support / v7 / gridlayout
您需要将GridLayout项目导入为Android库项目才能工作。
答案 1 :(得分:1)
我的意思是清除你的构建路径...
试试这个:
右键单击您的项目 - > properties-> java build path-> order并导出tick标记所有选项