在android活动中抛出奇怪的异常

时间:2013-04-10 02:44:50

标签: android android-activity

所以,我有一个Android应用程序来完成一个项目的制作,就像之前我问过这里的问题一样,但这次我遇到了一个完全不同的问题。由于该应用程序是关于神奇宝贝,在一个活动中我有一些TextViews,EditTexts和一个按钮设置来制作一个IV计算器。如果你很好奇并且不知道神奇宝贝中有什么“静脉注射”,那当然是google。无论如何,回到正轨...这个图像我在这里突出了我的问题

enter image description here

在盒装线上方,您会看到抛出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。测试app atm。

1 个答案:

答案 0 :(得分:0)

findViewById不会返回View类的对象,而是返回XML文件中指示的任何类的对象。无论您认为您在XML中如何描述EditText06,它都认为它是TextView而不是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>