运行应用程序时应用程序崩溃。我不知道为啥?
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)
尝试以编程方式设置图像,这将解决错误
【讨论】:
以上是关于运行应用程序时应用程序崩溃。我不知道为啥?的主要内容,如果未能解决你的问题,请参考以下文章