Java 想知道为什么我的应用程序崩溃了吗

Java 想知道为什么我的应用程序崩溃了吗,java,android,android-intent,casting,Java,Android,Android Intent,Casting,我是android新手。此应用程序是教程的一部分。现在我想知道,如果我点击gridview的一个项目,为什么会崩溃。我看了日志,但不知道哪里投错了 MainActivity.java LogCat 查看您的代码,您似乎在此处输入了错误: TextView DialogText=(TextView) findViewById(R.id.imageViewDialog); 应该是 TextView DialogText=(TextView) findViewById(R.id.textViewDi

我是android新手。此应用程序是教程的一部分。现在我想知道,如果我点击gridview的一个项目,为什么会崩溃。我看了日志,但不知道哪里投错了

MainActivity.java LogCat
查看您的代码,您似乎在此处输入了错误:

TextView DialogText=(TextView) findViewById(R.id.imageViewDialog);
应该是

TextView DialogText=(TextView) findViewById(R.id.textViewDialog);
或者无论此TextView的id的名称是什么

除此之外,您还需要学习阅读来自LogCat的消息,因为它们通常信息量很大。克利里说:

Caused by: java.lang.ClassCastException: android.widget.ImageView cannot be cast to android.widget.TextView 
这说明了原因和原因

at com.nando.gridview.Dialog.onCreate(Dialog.java:21)
指示它在代码中出现的位置


在开始时理解如何读取stacktrace可能是一件痛苦的事情,但当您得到它时,您将节省大量时间,因为您将能够确定应用程序崩溃的原因和位置。

您的问题在日志中解释:

android.widget.ImageView cannot be cast to android.widget.TextView
通过查看日志的下一行,您可以看到它发生的位置:

at com.nando.gridview.Dialog.onCreate(Dialog.java:21)
因此,请更改以下内容:

TextView DialogText=(TextView) findViewById(R.id.imageViewDialog);
为此:

TextView DialogText=(TextView) findViewById(R.id.idofyourtextview);

下一行出现错误:-

    ImageView DialogImage=(ImageView) findViewById(R.id.imageViewDialog);
    DialogImage.setImageResource(imageId);


您正在将ImageView转换为textview

我只能看到一个这样的类型转换:
TextView DialogText=(TextView)findviewbyd(R.id.imageViewDialog)读取错误日志<代码>对话框。java:21
<代码>图像视图无法转换为文本视图。(以打字错误结尾)
TextView DialogText=(TextView) findViewById(R.id.imageViewDialog);
TextView DialogText=(TextView) findViewById(R.id.idofyourtextview);
    ImageView DialogImage=(ImageView) findViewById(R.id.imageViewDialog);
    DialogImage.setImageResource(imageId);
    TextView DialogText=(TextView) findViewById(R.id.imageViewDialog);
    DialogText.setText("This Icon belongs to "+appName);