0

所以,我有一个 android 应用程序来完成一个项目的制作,与我之前在这里提出的问题相同,但这次我遇到了一个完全不同的方面的问题。由于该应用程序是关于 Pokémon 的,因此在一项活动中,我设置了一些 TextViews、EditTexts 和一个按钮来制作 IV 计算器。如果你很好奇并且不知道神奇宝贝中的“IVs”是什么,当然可以谷歌搜索。无论如何,回到正轨......我放在一起的这张图片突出了我的问题

在此处输入图像描述

在框线上方,您会看到抛出 ClassCastException,说不能从 TextView 类型转换为 EditText ...我知道这在一般意义上意味着什么,但我无法理解为什么会在这里发生,因为您可以在相关行中看到代码(我粘贴到图像中)该行中涉及转换的部分是从 View(findViewById 的返回类型)转换为 EditText。arg R.id.EditText06 在我的活动中指的是 EditText,所以我看不到错误的投射尝试应该发生在哪里。只是为了稍微澄清一下上下文,这是编码到按钮的 OnClickListener 中的内容的一部分。

抱歉,如果就显示的有关该问题的内容而言,这个问题似乎可能不完整,但对我来说已经很晚了(以至于我在发布此内容时要睡觉了),如果您觉得您可以要求我发布其他内容需要它来帮助我。

编辑:这是我有问题的活动的 xml 文件。http://pastebin.com/g5B8d393

EDIT2:好的,现在情况变得更糟了:(我目前的设置是我有一种虚拟的主要活动,只有一个按钮来启动一个活动。在测试时我改变了它根据需要启动的......直到一段时间昨晚(我真的不知道是什么导致了这个问题)IVCalculatorActvity一旦我让它完全正常工作,以及其他活动,它就可以正常工作。但是现在,当我按下按钮时它就崩溃了主要活动...我只是要将项目上传到某个地方。(http://www.filehosting[DOT]org/file/details/429262/PokeUtility.zip)Grrr...诅咒链接上的这个声誉限制发帖>.>我明白其中的道理,但是嗯……

EDIT3:为如此突然的编辑道歉,但我现在才看到你最新的帖子 HalR。测试应用 atm。

4

1 回答 1

0

findViewById不返回 View 类的对象,而是返回 XML 文件中指示的任何类的对象。无论您认为您在 XML 中描述您的 EditText06,它都认为它是 aTextView而不是 and EditText。仔细检查并确保您没有id="EditText06"在多个位置定义。

如果您显示您的 xml,那么有人可能会更容易指出您的 xml 文件中的特定问题。

您需要为每个标签使用一次“@+id/...”格式,第一次出现时(作为参考或作为 id)。否则您会生成多个标签。我按照我的方式编辑了您的文件认为需要。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                tools:context=".IVCalculatorActivity" >

    <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:text="@string/calculate" />

    <EditText
            android:id="@+id/EditText01"
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textViewD"
            android:layout_alignBottom="@id/textViewD"
            android:layout_alignLeft="@+id/EditText05"
            android:ems="10" />

    <EditText
            android:id="@+id/EditText03"
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView5"
            android:layout_alignBottom="@id/textView5"
            android:layout_alignLeft="@+id/EditText02"
            android:ems="10" />

    <EditText
            android:id="@+id/EditText04"
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView6"
            android:layout_alignBottom="@id/textView6"
            android:layout_alignLeft="@+id/EditText03"
            android:ems="10" />

    <TextView
            android:id="@+id/textViewA"
            android:layout_width="400dp"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textViewC"
            android:layout_alignParentTop="true"
            android:text="@string/IVcalcHeader" />

    <TextView
            android:id="@id/textViewC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/textViewD"
            android:layout_below="@id/textViewA"
            android:layout_marginTop="26dp"
            android:text="Stat" />

    <EditText
            android:id="@id/EditText05"
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/textViewC"
            android:layout_alignBottom="@id/textViewC"
            android:layout_alignRight="@id/textViewA"
            android:ems="10" />

    <TextView
            android:id="@id/textViewD"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textViewB"
            android:layout_below="@id/EditText05"
            android:layout_marginTop="27dp"
            android:text="Stat value" />

    <EditText
            android:id="@+id/EditText02"
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/textViewB"
            android:layout_alignBottom="@id/textViewB"
            android:layout_alignLeft="@id/EditText01"
            android:ems="10" />

    <TextView
            android:id="@id/textViewB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/textView5"
            android:layout_below="@id/EditText01"
            android:layout_marginTop="28dp"
            android:text="Level" />

    <TextView
            android:id="@id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/textView6"
            android:layout_centerVertical="true"
            android:text="EV count" />

    <TextView
            android:id="@id/textView6"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_alignRight="@id/button3"
            android:layout_below="@+id/EditText03"
            android:layout_marginTop="29dp"
            android:text="Base Stat" />

    <TextView
            android:id="@+id/textViewE"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/textView6"
            android:layout_below="@id/textView6"
            android:layout_marginTop="40dp"
            android:text="Nature" />

    <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/EditText04"
            android:layout_alignTop="@id/button3"
            android:text="      " />

    <EditText
            android:id="@+id/EditText06"
            android:layout_width="140dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/textViewE"
            android:layout_alignBottom="@id/textViewE"
            android:layout_alignLeft="@id/textView7"
            android:ems="10" />

</RelativeLayout>
于 2013-04-10T02:53:44.897 回答