【问题标题】:ImageView is Crashing The ApplicationImageView 正在使应用程序崩溃
【发布时间】:2013-12-23 06:50:14
【问题描述】:

此应用程序在我的 android 2.1 上完美运行,但是当我在 Galaxy S3 4.1.1 上使用它时,它根本无法运行并崩溃

LogCat

12-22 22:38:39.756: E/AndroidRuntime(25460): FATAL EXCEPTION: main
12-22 22:38:39.756: E/AndroidRuntime(25460): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.TripleC.twenty20/com.TripleC.twenty20.MainActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class android.widget.ImageView
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2113)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.app.ActivityThread.access$700(ActivityThread.java:139)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.os.Looper.loop(Looper.java:137)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.app.ActivityThread.main(ActivityThread.java:4918)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at java.lang.reflect.Method.invokeNative(Native Method)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at java.lang.reflect.Method.invoke(Method.java:511)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at dalvik.system.NativeStart.main(Native Method)
12-22 22:38:39.756: E/AndroidRuntime(25460): Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class android.widget.ImageView
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)

这也是我的 XML 构建,我看到这是我放的图片,但我不知道图片是什么问题,如果我删除它,应用程序可以正常工作,但我需要那里的图片

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/wood"
 >

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Welcome To the Beta Version of 20/20's Youth Ministry New App"
android:gravity="center"
android:id="@+id/fragment_main_textview" 
android:textColor="#FFFFFF"
android:textSize="10pt"
/>

<ImageView 
android:layout_width="120pt"
android:id="@+id/mainLogo" 
android:layout_height="120pt"
android:background="@drawable/glasses"
android:layout_gravity="center"
/>

</LinearLayout>

现在这样说

12-22 23:16:31.465: A/libc(3371): Fatal signal 11 (SIGSEGV) at 0x000009a4 (code=1), thread 3371 (ripleC.twenty20)

【问题讨论】:

    标签: android eclipse crash imageview


    【解决方案1】:

    问题在于您必须为 imageview 设置的图像大小,正如您已经提到的,在以前的版本中,它可以完美运行,但在较新的版本中,它会使您的应用程序崩溃,这意味着您没有;t在drawable文件夹中添加图像,在资源中添加drawable文件夹并在该文件夹中添加glasses图像,然后清理您的项目并运行您的应用程序,您的问题就解决了。

    您的错误在于:

    Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class android.widget.ImageView
    12-22 22:38:39.756: E/AndroidRuntime(25460):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
    12-22 22:38:39.756: E/AndroidRuntime(25460):    
    

    并且在第 20 行产生了异常,它是图像视图。

    【讨论】:

    • 谢谢,但它仍然在崩溃,现在说“12-22 23:16:31.465: A/libc(3371): Fatal signal 11 (SIGSEGV) at 0x000009a4 (code=1),线程 3371 (ripleC.twenty20)"
    • 是的,没错,我以为你已经这样做了,很好的日志跟踪 Hamad :)
    • 如果你们都欣赏这一点,那么也可以通过投票来欣赏它:) @ZORRO_BLANCO
    【解决方案2】:

    您是否正在缩放布局 它是空指针,这意味着 Android 无法找到您的 Drawable id(眼镜), 将相同的图像放在缩放的可绘制对象中,或者简单地创建一个可绘制文件夹并将眼镜放在可绘制文件夹中。 那么它应该可以正常工作。

    【讨论】:

    • 我确实做到了,但它仍然崩溃并说 tis "12-22 23:16:31.465: A/libc(3371): Fatal signal 11 (SIGSEGV) at 0x000009a4 (code=1),线程 3371 (ripleC.twenty20) "
    • 从您的设备中删除应用程序,清理应用程序,然后尝试提供新版本,here
    【解决方案3】:

    我遇到了同样的问题,但我发现深度为 8 的图像会导致问题。 所以我使用了另一个深度不是 8 的图像。

    【讨论】:

      【解决方案4】:

      由于资源dpi问题,请将资源放在drawable&layout目录下试试,不要像drawable-hdpi这样的扩展。

      【讨论】:

        【解决方案5】:

        我认为图像大小的问题你必须将比例设置为适合 XY,并将布局宽度和高度设置为“wrap_content”,并将 layout_centerInParent 设置为 true,我相信你需要所有这些属性不仅设置其中一个:

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:scaleType="fitXY"
        

        希望对你有帮助...

        【讨论】:

        • 非常感谢,但是没有用,同样的崩溃原因出现了
        • 我不确定您的应用程序,但我们可以尝试删除所有其他属性并设置这些属性,确保您也会离开 id,然后运行,告诉我会发生什么;)
        • 我又试了一次还是死机了:( 可能是图片放错了drawable文件夹?
        • 把你的图片放在“drawable”文件夹里,请检查一下。
        【解决方案6】:

        这只是一件简单的事情。图像文件的分辨率/尺寸太高。只是改变分辨率肯定会解决它。这是这里唯一的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-05-15
          • 2016-04-06
          • 1970-01-01
          • 1970-01-01
          • 2023-01-31
          • 1970-01-01
          • 2014-12-25
          • 1970-01-01
          相关资源
          最近更新 更多