`
wx1569488408
  • 浏览: 75250 次
文章分类
社区版块
存档分类
最新评论

安卓V7包神坑——PopuMenu

 
阅读更多

安卓有个我很讨厌的V7包,该包找不到源码,找不到jar文件。今天,使用PopuMenu时,写了如下代码:

//public boolean onCreateOptionsMenu(Menu menu) {
  //      getMenuInflater().inflate(R.menu.core_more_popmenu, menu);
    //    return true;
       
    //}
   
    private void showPopwinMenu(View v) {
        PopupMenu popupMenu = new PopupMenu(CoreFactoryActivity.this, v);
        getMenuInflater().inflate(R.menu.core_more_popmenu, popupMenu.getMenu());
        popupMenu.show();
    }

 

但是,一直崩溃。各种错误找不到。经过怀疑阶段:代码错误——Activity不支持错误,仔细阅读了一堆红色的。发现,V7包出现了,起初,我只以为是安卓系统运行时自己调用的。。。后来一想,不对啊。我根本没有使用V7包的哪个特性。于是,仔细对照了错误代码,发现坑爹的事实:

V7包居然也有PopMenu类,而且使用该类,在FragmentActivity,Activity下都会崩溃行。看来这坑货没有什么用

 

image

 

崩溃代码:

 

09-11 23:11:03.567: E/AndroidRuntime(25133): FATAL EXCEPTION: main
09-11 23:11:03.567: E/AndroidRuntime(25133): Process: com.yue.madou, PID: 25133
09-11 23:11:03.567: E/AndroidRuntime(25133): java.lang.RuntimeException: Binary XML file line #17: You must supply a layout_height attribute.
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:528)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6215)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:6383)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.widget.FrameLayout$LayoutParams.<init>(FrameLayout.java:677)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:621)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:60)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.view.LayoutInflater.inflate(LayoutInflater.java:480)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.support.v7.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:374)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.support.v7.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:223)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:157)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.support.v7.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:129)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.support.v7.widget.PopupMenu.show(PopupMenu.java:216)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at com.yue.madou.activity.CoreFactoryActivity.showPopwinMenu(CoreFactoryActivity.java:122)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at com.yue.madou.activity.CoreFactoryActivity.access$2(CoreFactoryActivity.java:119)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at com.yue.madou.activity.CoreFactoryActivity$2.onClick(CoreFactoryActivity.java:65)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.view.View.performClick(View.java:4489)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.view.View$PerformClick.run(View.java:18962)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.os.Handler.handleCallback(Handler.java:808)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.os.Handler.dispatchMessage(Handler.java:103)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.os.Looper.loop(Looper.java:193)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at android.app.ActivityThread.main(ActivityThread.java:5542)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at java.lang.reflect.Method.invokeNative(Native Method)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at java.lang.reflect.Method.invoke(Method.java:515)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:657)
09-11 23:11:03.567: E/AndroidRuntime(25133):     at dalvik.system.NativeStart.main(Native Method)
09-11 23:11:06.195: E/(25661): appName=com.yue.madou, acAppName=/system/bin/surfaceflinger
09-11 23:11:06.195: E/(25661): 0

 

 

 

 

转载于:https://my.oschina.net/mingyueyixi/blog/745534

分享到:
评论

相关推荐

    android v7包

    Android V7包是一个重要的Android库项目,主要包含了对Android API Level 22及更高版本的支持组件。这个包的名称“appcompat_v7”暗示了它致力于兼容性,目的是为了让开发者能够在较新的Android版本上实现对早期API...

    安卓V7支持包

    【安卓V7支持包】是Android开发者为了向后兼容旧版本Android系统而设计的一个库,主要目的是为了让开发者能够在更低版本的Android系统上使用最新版本的UI控件和功能。这个库由Google官方提供,旨在帮助开发者提升...

    android-support-v7包

    它是针对Android 2.3(API Level 9)及以上的版本谷歌提供了一系列的support包(和V4包的命名一样,V7最初支持的最低版本是Android 2.1即API Level 7,所以称其为V7,同样在android-support-v7-24.2.0将V7支持的最低...

    android中 v4v7包.zip

    在Android开发中,`android-v4`和`android-v7`是两个重要的支持库,它们提供了许多对Android API的扩展和兼容性支持。这两个库由Android Support Library(现已被AndroidX库取代)提供,旨在帮助开发者处理不同...

    Android support.v7包

    Android support.v7包

    Android Support v7包下载

     ·Android Support v7:这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑 1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。  ·Android Support...

    完整的android-support-v7包

    完整的android-support-v7包

    android studio下的v7 jar包

    android studio下的v7 jar包

    android-support-v7依赖的导入包

    在Android开发中,`android-support-v7`是一个重要的支持库,它为老版本的Android系统提供了新特性的兼容。这个库特别关注的是`appcompat-v7`子库,它是Android开发者广泛使用的工具,用于实现向后兼容Android API ...

    Android Support v7包

     ·Android Support v7:这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑 1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。  ·Android Support ...

    Android v7的一些jar包

    里面有android-support-v7-appcompat.jar,android-support-v7-cardview,android-support-v7-recyclerview.jar等6个jar包

    android v7兼容包RecyclerView的使用(一)——布局管理器

    在Android开发中,RecyclerView是一个非常重要的组件,尤其在Android v7兼容包中,它替代了ListView,成为构建高效可滚动列表的首选工具。本篇文章将详细介绍如何使用RecyclerView,特别是其核心部分——布局管理器...

    v4v7androidx-jar.rar

    这个“v4v7androidx-jar.rar”压缩包包含了与Android Support Library相关的两个关键库:v4库和v7库的jar包,以及对AndroidX的一些支持。以下是关于这三个库的详细解释和相关知识点。 1. Android Support Library ...

    android-support-v7-appcompat.zip

    《Android Support Library v7 AppCompat详解》 在Android开发中,`android-support-v7-appcompat`库是一个至关重要的组件,它极大地扩展了Android API的功能,使得开发者能够在更广泛的设备上实现一致的用户界面和...

    android 最新v7包

    Android开发工具包最新 android-support-v7-appcompat.jar包

    配合v7包的android-support-v4.jar

    该包可配合具有AppCompatImageView的android-support-v7-appcompat.jar,搜"含AppCompatImageView的android-support-v7-appcompat.jar"资源,两个包配合起来使用

    android v7jar包下载

    在这个场景中,我们讨论的是v7库中的一个特定组件——appcompat库,其主要目的是为了提供对Android Material Design设计风格的兼容性支持。 Android Support Library v7 appcompat是一个广泛使用的库,它的主要功能...

Global site tag (gtag.js) - Google Analytics