找不到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,则您的库构建路径可能已经搞砸了。请尝试以下操作:

    右键单击项目 构建路径 -> 配置构建路径 选项卡:订购和导出 确保检查您的 AndroidAndroid 依赖项 库 清理和构建您的项目

在我上次 ADT 更新期间,所有这些都未选中,并且我遇到了类似的错误。

【讨论】:

构建路径很好,这是我首先检查的内容之一 我最近遇到的另一个非常相似的问题是 Google Play 库在 ADT 更新后不是最新的。如果支持库需要更新,您是否检查过 SDK 工具? 这样做了,我竟然从google下载了最新的 @DuffsMontgomary 你有解决这个问题的办法吗?我也面临同样的问题。 添加到这个.. 对我来说,我没有支持库。我尝试了私有库和依赖项,但没有成功。对我有用的是右键单击项目并转到 Android 工具 > 添加支持库...,它会自动更新并添加缺少的支持库作为 libs 文件夹中的 jar。然后我必须右键单击该 jar 并单击“添加到构建路径”然后我可以在 Order & Export 中检查 jar(如上面的答案中所述)。希望这对某人有所帮助。【参考方案2】:

确保 actionbarsherlockSherlockNavigationDrawer 具有相同(和最新)版本的支持库。

右键单击项目 > 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的主要内容,如果未能解决你的问题,请参考以下文章

android导入父类红标提示:import android.support.v13.app.xxx

java为啥每次都是找不到文件。找不到文件?

java package找不到符号

java 枚举 找不到符号

java里显示找不到符号?

java 中总是出现找不到符号 是怎么回事