运行应用程序时应用程序崩溃。我不知道为啥?

Posted

技术标签:

【中文标题】运行应用程序时应用程序崩溃。我不知道为啥?【英文标题】:App crashes when I run the app. I dont know why?运行应用程序时应用程序崩溃。我不知道为什么? 【发布时间】:2019-04-08 03:34:48 【问题描述】:

当我尝试将其加载到我的应用程序中时,我的应用程序特定页面崩溃。 有人能找出错误吗。 我将发布代码的xml和java文件以及错误。

Java 代码:

    package com.divesh.sliderapp;

import android.graphics.Typeface;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class Team extends Fragment 
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) 

        View view = inflater.inflate(R.layout.team,container,false);

        TextView txt = view.findViewById(R.id.Name1);
        Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "Fonts/KoHo-Bold.ttf");
        txt.setTypeface(font);
        Typeface font2 = Typeface.createFromAsset(getActivity().getAssets(), "Fonts/KoHo-Regular.ttf");
        TextView txt1 = view.findViewById(R.id.Name2);
        TextView txt2 = view.findViewById(R.id.Pos1);
        TextView txt3 = view.findViewById(R.id.Pos2);
        txt1.setTypeface(font);
        txt2.setTypeface(font2);
        txt3.setTypeface(font2);
        TextView join = view.findViewById(R.id.join);
        Typeface font1 = Typeface.createFromAsset(getActivity().getAssets(), "Fonts/Raleway-Medium.ttf");
        join.setTypeface(font1);
        return view;

    

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) 
        super.onViewCreated(view, savedInstanceState);
        //you can set the title for your toolbar here for different fragments different titles
        getActivity().setTitle("Team");
    

这里是xml代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_
    android:layout_
    android:background="#f2dede">

    <ImageView
        android:id="@+id/imageView7"
        android:layout_
        android:layout_
        android:layout_marginBottom="12dp"
        android:layout_marginEnd="135dp"
        android:layout_marginStart="135dp"
        android:layout_marginTop="40dp"
        app:layout_constraintBottom_toTopOf="@+id/Name1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.481"
        app:srcCompat="@drawable/image2"
        android:gravity="center"
        android:contentDescription="@string/divesh_jain" />

    <TextView
        android:id="@+id/Name1"
        android:layout_
        android:layout_
        android:layout_marginEnd="115dp"
        android:layout_marginStart="116dp"
        android:text="@string/divesh_jain"
        android:textAppearance="@style/TextAppearance.AppCompat"
        android:textSize="25sp"
        app:layout_constraintBottom_toTopOf="@+id/Pos1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginRight="115dp"
        android:layout_marginLeft="116dp"
        android:gravity="center"/>

    <TextView
        android:id="@+id/Pos1"
        android:layout_
        android:layout_
        android:layout_marginBottom="32dp"
        android:layout_marginEnd="157dp"
        android:layout_marginStart="158dp"
        android:text="@string/developer"
        android:textAppearance="@style/TextAppearance.AppCompat"
        android:textSize="16sp"
        app:layout_constraintBottom_toTopOf="@+id/imageView8"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginRight="157dp"
        android:layout_marginLeft="158dp"
        android:gravity="center"/>

    <ImageView
        android:id="@+id/imageView8"
        android:layout_
        android:layout_
        android:layout_marginBottom="12dp"
        android:layout_marginEnd="135dp"
        android:layout_marginStart="135dp"
        app:layout_constraintBottom_toTopOf="@+id/Name2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:srcCompat="@drawable/image5"
        android:gravity="center"
        android:contentDescription="@string/aman_jain" />

    <TextView
        android:id="@+id/Name2"
        android:layout_
        android:layout_
        android:layout_marginEnd="132dp"
        android:layout_marginStart="133dp"
        android:text="@string/aman_jain"
        android:textAppearance="@style/TextAppearance.AppCompat"
        android:textSize="25sp"
        app:layout_constraintBottom_toTopOf="@+id/Pos2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginRight="132dp"
        android:layout_marginLeft="133dp"
        android:gravity="center"/>

    <TextView
        android:id="@+id/Pos2"
        android:layout_
        android:layout_
        android:layout_marginBottom="100dp"
        android:layout_marginEnd="161dp"
        android:layout_marginStart="162dp"
        android:text="@string/designer"
        android:textAppearance="@style/TextAppearance.AppCompat"
        android:textSize="16sp"
        app:layout_constraintBottom_toTopOf="@+id/join"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginRight="161dp"
        android:layout_marginLeft="162dp"
        android:gravity="center"/>

    <TextView
        android:id="@+id/join"
        android:layout_
        android:layout_
        android:layout_marginBottom="16dp"
        android:layout_marginEnd="32dp"
        android:layout_marginStart="33dp"
        android:text="@string/wish_to_join_our_team_contact_us_via_query_section"
        android:textAlignment="center"
        android:textAppearance="@style/TextAppearance.AppCompat"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:layout_marginRight="32dp"
        android:layout_marginLeft="33dp"
        android:gravity="center"/>
</android.support.constraint.ConstraintLayout>

我将在 logcat 中粘贴显示的错误,但我认为这些错误都不适用于此页面 此页面名称是团队

这里是 logcat 中显示的错误。

11-04 19:19:57.875 5921-5921/com.divesh.sliderapp E/AndroidRuntime: 致命异常: main 进程:com.divesh.sliderapp,PID:5921 java.lang.RuntimeException:无法启动活动 ComponentInfocom.divesh.sliderapp/com.divesh.sliderapp.payment:android.view.InflateException:二进制 XML 文件第 64 行:膨胀类 android.widget.ImageButton 时出错 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 引起:android.view.InflateException:二进制 XML 文件第 64 行:错误膨胀类 android.widget.ImageButton 在 android.view.LayoutInflater.createView(LayoutInflater.java:633) 在 com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:504) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:414) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:365) 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378) 在 android.app.Activity.setContentView(Activity.java:2145) 在 com.divesh.sliderapp.payment.onCreate(payment.java:53) 在 android.app.Activity.performCreate(Activity.java:5990) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Constructor.newInstance(Native Method) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:288) 在 android.view.LayoutInflater.createView(LayoutInflater.java:607) 在 com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:504) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:414) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:365) 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378) 在 android.app.Activity.setContentView(Activity.java:2145) 在 com.divesh.sliderapp.payment.onCreate(payment.java:53) 在 android.app.Activity.performCreate(Activity.java:5990) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 引起:android.content.res.Resources$NotFoundException: Resource "com.divesh.sliderapp:drawable/card10" (7f08005e) is not a Drawable (color or path): TypedValuet=0x1/d=0x7f08005e a=- 1 r=0x7f08005e 在 android.content.res.Resources.loadDrawableForCookie(Resources.java:2441) 在 android.content.res.Resources.loadDrawable(Resources.java:2381) 在 android.content.res.TypedArray.getDrawable(TypedArray.java:749) 在 android.widget.ImageView.(ImageView.java:146) 在 android.widget.ImageButton.(ImageButton.java:86) 在 android.widget.ImageButton.(ImageButton.java:82) 在 android.widget.ImageButton.(ImageButton.java:78) 在 java.lang.reflect.Constructor.newInstance(Native Method) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:288) 在 android.view.LayoutInflater.createView(LayoutInflater.java:607) 在 com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 在 android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:504) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:414) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:365) 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378) 在 android.app.Activity.setContentView(Activity.java:2145) 在 com.divesh.sliderapp.payment.onCreate(payment.java:53) 在 android.app.Activity.performCreate(Activity.java:5990) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 11-04 19:20:00.461 5921-5921/? I/Process:发送信号。 PID:5921 SIG:9

【问题讨论】:

hmm... 看起来它与您的图像有关。在您的 imageview 中,将 app:srcCompact 替换为 android:src 作为初学者。让我知道它的行为,我可以进一步研究它。 【参考方案1】:

来自错误日志:

android.content.res.Resources$NotFoundException: 资源 "com.divesh.sliderapp:drawable/card10" (7f08005e) 不是 Drawable (颜色或路径)

这意味着您尝试使用可绘制对象card10,但这不是可绘制对象。 虽然您发布的 xml 没有使用任何可绘制的 card10

错误日志还指向 xml 的第 64 行,在您发布的 xml 中我找到了imageView8。在这种情况下,可能在此属性中设置了一张非常大的图片,可能会导致应用崩溃:

app:srcCompat="@drawable/image5"

【讨论】:

我该如何解决? 先删除app:srcCompat="@drawable/image5"再试。如果应用程序运行时没有崩溃,那么您就发现了问题,那就是图像。如果它仍然崩溃,那么寻找这个“可绘制的”card10 并将它也从你的代码中删除,看看会发生什么。 删除图像后,错误消失。但是我应该如何纠正错误,因为我希望图像是 尝试使用较低分辨率的图像。 是的,我明白了。解决了错误。实际问题是我将图像放在 v24 中。更改文件夹后,一切正常。感谢您的帮助。【参考方案2】:

我认为主要问题是在用 Activity 中的容器替换片段时膨胀

【讨论】:

如何正确设置? 向我展示您在活动中完成的片段替换代码。【参考方案3】:

尝试在 onViewCreated 中使用 View.findViewById() :) View 可以访问所有对象

View.findViewById(R.id.textview).setText(“hello world”);

看看这个:https://usman.sagri.co.in/pdaceapp/app/src/main/java/in/co/sagri/pdace/ContactFragment.java

您可以正确地返回视图并像在我的 java 文件中那样移动该代码。

【讨论】:

【参考方案4】:
imageView7.setImageResource(R.drawable.image2)

尝试以编程方式设置图像,这将解决错误

【讨论】:

以上是关于运行应用程序时应用程序崩溃。我不知道为啥?的主要内容,如果未能解决你的问题,请参考以下文章

我的应用程序不断崩溃,大概是因为空对象引用错误,但我不知道为啥

我的程序崩溃了,我不知道为啥

***Error,我不知道为啥

Segue 被叫了两次,我不知道为啥 - 斯威夫特

我得到一个断点,我不知道为啥

由于 heightConstraints 我的应用程序崩溃了我不知道如何解决它