找不到java android.support.v4.widget.DrawerLayout
Posted
技术标签:
【中文标题】找不到java android.support.v4.widget.DrawerLayout【英文标题】:java android.support.v4.widget.DrawerLayout not being found 【发布时间】:2013-05-22 21:22:24 【问题描述】:当我测试应用程序时,在我的手机上找不到android.support.v4.widget.DrawerLayout;
。为什么会发生这种情况,我该如何解决?
我还不知道,但我想我可能对android.support.v4.view.GravityCompat;
有同样的问题
和android.support.v4.app.ActionBarDrawerToggle;
,如果它们确实引起了任何问题。
我以前从未遇到过android.support.v4.*;
的任何问题,但现在它无法正常工作。
我有 android.support.v4 库(可能是一个)。
编辑:更好的错误信息
我的错误
05-27 19:46:21.230: E/jdwp(11659): Failed sending reply to debugger: Broken pipe
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 30: Landroid/support/v4/widget/DrawerLayout;.closeDrawer (Landroid/view/View;)V
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 27: Landroid/support/v4/app/ActionBarDrawerToggle;.onConfigurationChanged (Landroid/content/res/Configuration;)V
05-27 19:46:21.290: E/dalvikvm(11659): Could not find class 'android.support.v4.widget.DrawerLayout', referenced from method com.MainActivity.onCreate
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve check-cast 16 (Landroid/support/v4/widget/DrawerLayout;) in Lcom/MainActivity;
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 28: Landroid/support/v4/app/ActionBarDrawerToggle;.onOptionsItemSelected (Landroid/view/MenuItem;)Z
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 29: Landroid/support/v4/app/ActionBarDrawerToggle;.syncState ()V
05-27 19:46:21.290: W/dalvikvm(11659): VFY: unable to resolve virtual method 31: Landroid/support/v4/widget/DrawerLayout;.isDrawerOpen (Landroid/view/View;)Z
05-27 19:46:21.290: W/dalvikvm(11659): Unable to resolve superclass of Lcom/MainActivity$1; (14)
05-27 19:46:21.290: W/dalvikvm(11659): Link of class 'Lcom/MainActivity$1;' failed
05-27 19:46:21.340: W/dalvikvm(11659): threadid=1: thread exiting with uncaught exception (group=0x40bc71f8)
05-27 19:16:42.404: E/dalvikvm(10623): Could not find class 'android.support.v4.widget.DrawerLayout', referenced from method com.MainActivity.onCreate
05-27 19:16:42.464: E/AndroidRuntime(10623): FATAL EXCEPTION: main
05-27 19:16:42.464: E/AndroidRuntime(10623): java.lang.RuntimeException: Unable to start activity ComponentInfocom.MainActivity: android.view.InflateException: Binary XML file line #3: Error inflating class android.support.v4.widget.DrawerLayout
【问题讨论】:
问题出在您为内容视图设置的 xml 布局中。您需要发布 xml。 我在我的之后尝试了谷歌代码,看看我是否可以让它工作,所以我加载了他们的源代码,但我仍然得到一个错误。 developer.android.com/training/implementing-navigation/… 您是否也更新到了最新的支持库版本? 请发布您的 XML。否则很难帮你。 【参考方案1】:如果您最近更新了 ADT,则您的库构建路径可能已经搞砸了。请尝试以下操作:
-
右键单击项目
构建路径 -> 配置构建路径
选项卡:订购和导出
确保检查您的 Android 和 Android 依赖项 库
清理和构建您的项目
在我上次 ADT 更新期间,所有这些都未选中,并且我遇到了类似的错误。
【讨论】:
构建路径很好,这是我首先检查的内容之一 我最近遇到的另一个非常相似的问题是 Google Play 库在 ADT 更新后不是最新的。如果支持库需要更新,您是否检查过 SDK 工具? 这样做了,我竟然从google下载了最新的 @DuffsMontgomary 你有解决这个问题的办法吗?我也面临同样的问题。 添加到这个.. 对我来说,我没有支持库。我尝试了私有库和依赖项,但没有成功。对我有用的是右键单击项目并转到 Android 工具 > 添加支持库...,它会自动更新并添加缺少的支持库作为 libs 文件夹中的 jar。然后我必须右键单击该 jar 并单击“添加到构建路径”然后我可以在 Order & Export 中检查 jar(如上面的答案中所述)。希望这对某人有所帮助。【参考方案2】:确保 actionbarsherlock 和 SherlockNavigationDrawer 具有相同(和最新)版本的支持库。
右键单击项目 > Android 工具 > 添加支持库...
为两个项目执行此操作,一切顺利;)
【讨论】:
【参考方案3】:是的,我已经解决了你的问题 只是
Right click on Project
Build Path -> Configure Build Path
add your external support v4
then check the support v4 from order and export
Make sure your Android and Android Dependencies libraries are checked
Clean & Build your Project
我认为这会解决你的问题
【讨论】:
我应该右键单击的project
在哪里?我刚刚更新到最新版本的 Android Studio 1.2.1.1【参考方案4】:
我遇到了类似的问题,以下步骤解决了我的问题:
我在库项目 FacebookSDK 中打开了 project.properties 并检查了目标,在我的例子中是 target=android-10。
转到 SDK 管理器并检查 API 10 是否已安装,如果缺少则安装。
仅此而已。
【讨论】:
【参考方案5】:我的解决方案(针对 Eclipse): 在 [Project-Name]/libs 目录中复制正确版本的支持库。 也许您必须重建项目。 PS:支持库位于 [Your-SDK-Directory]/[Choosen-SDK]/extras/android/support/[v4|v9|v13]/src
【讨论】:
以上是关于找不到java android.support.v4.widget.DrawerLayout的主要内容,如果未能解决你的问题,请参考以下文章