Android LogCat CastXeption毫无意义

Android LogCat CastXeption毫无意义,android,android-widget,logcat,Android,Android Widget,Logcat,下面是Java,日志猫说我有一个错误。。。我会在那一行加上评论。。。它说我已经将文本视图投射到一个按钮上,但我根本没有 package k.t.m; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.But

下面是Java,日志猫说我有一个错误。。。我会在那一行加上评论。。。它说我已经将文本视图投射到一个按钮上,但我根本没有

package k.t.m;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

    TextView errors;
    TextView tkm;
    TextView result;
    TextView main;
    Button mainButton1;
    Button mainButton2;
    Button back;
    Button go;
    EditText textbox;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        main = (TextView) findViewById(R.id.main);
        back = (Button) findViewById(R.id.secondaryButtonBack);
        mainButton1  = (Button) findViewById(R.id.mainButton1);
        mainButton2  = (Button) findViewById(R.id.mainButton2);
        go = (Button) findViewById(R.id.goButton); // error here in the logcat... below

        tkm = (TextView) findViewById(R.id.mkm);
        result = (TextView) findViewById(R.id.result);
        errors = (TextView) findViewById(R.id.errors);
        textbox = (EditText) findViewById(R.id.TextBox);

        textbox.setVisibility(View.INVISIBLE);
        back.setVisibility(View.INVISIBLE);
        go.setVisibility(View.INVISIBLE);

       mainButton1.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {

            milesToKilometers();
        }

       });


        mainButton2.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                kilometersToMiles();
            }

        });

        back.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                back();
                result.setText("");
                tkm.setText("");

            }

        });


    }


    protected void back() {

        main.setVisibility(View.VISIBLE);
        mainButton1.setVisibility(View.VISIBLE);
        mainButton2.setVisibility(View.VISIBLE);
        back.setVisibility(View.INVISIBLE);
        go.setVisibility(View.INVISIBLE);
        textbox.setVisibility(View.INVISIBLE);

    }


    protected void kilometersToMiles() {

        tkm.setText("Kilometers:");
        main.setVisibility(View.INVISIBLE);
        mainButton1.setVisibility(View.INVISIBLE);
        mainButton2.setVisibility(View.INVISIBLE);
        back.setVisibility(View.VISIBLE);
        go.setVisibility(View.VISIBLE);
        textbox.setVisibility(View.VISIBLE);
        go.setOnClickListener(new OnClickListener() {


            public void onClick(View v) {
                if(textbox.getText().toString().equals("")){

                    errors.setText("Error: Kilometers Missing");

                }
            }

        });
    }

    protected void milesToKilometers() {


        main.setVisibility(View.INVISIBLE);
        mainButton1.setVisibility(View.INVISIBLE);
        mainButton2.setVisibility(View.INVISIBLE);
        back.setVisibility(View.VISIBLE);
        go.setVisibility(View.VISIBLE);
        textbox.setVisibility(View.VISIBLE);

         go.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {

                }

            });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


}
这是logcat的错误,我不知道是怎么回事……这对我来说毫无意义

08-18 15:54:14.687: E/AndroidRuntime(15778): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button
08-18 15:54:14.687: E/AndroidRuntime(15778):    at k.t.m.MainActivity.onCreate(MainActivity.java:32)
感谢所有的提前。。。这是xml文件,我不认为有什么问题,但这里你去

<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" >

    <TextView
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="                    What do you wish to convert?" />

    <Button
        android:id="@+id/mainButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="122dp"
        android:text="Kilometers to Miles" />

    <Button
        android:id="@+id/mainButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/mainButton2"
        android:layout_below="@+id/mainButton2"
        android:layout_marginTop="126dp"
        android:text="Miles to Kilometers" />

    <Button
        android:id="@+id/secondaryButtonBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/mainButton1"
        android:layout_marginTop="57dp"
        android:layout_toRightOf="@+id/mainButton1"
        android:text="Back" />

    <Button
        android:id="@+id/goButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/mainButton1"
        android:layout_centerHorizontal="true"
        android:text="Go" />

    <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="" />

    <TextView
        android:id="@+id/errors"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/main"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="46dp"
        android:text="" />

    <EditText
        android:id="@+id/TextBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/result"
        android:layout_centerHorizontal="true"
        android:ems="10"
        android:inputType="number" />

    <TextView
        android:id="@+id/mkm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/TextBox"
        android:layout_toLeftOf="@+id/result" />

</RelativeLayout>

这意味着您必须修改findViewById。我认为java代码中声明了一个textview,您将其引用到一个按钮id。请检查

我明白您为何如此困惑。。。我唯一能想到的就是清理你的项目,然后重建它。eclipse中的“项目>清理”。您可以在此搜索更多信息。但我和你现在一样困惑

清理项目并重建。确保重新生成R文件。有时候Eclipse会把事情搞砸

你能发布你的xml文件吗?也许其中一个textview/按钮上的id混淆了?id中是否有其他id为goButton的对象?在任何布局上?你能进入你的gen文件夹给我们R.java ID类吗?我明白你为什么这么困惑。。。我唯一能想到的就是清理你的项目,然后重建它。eclipse中的“项目>清理”。您可以在此搜索更多信息。但我现在和你一样困惑。好吧,我不知道怎么了,但谢谢你。没问题:)如果我把它作为答案贴出来,你会接受吗?我想你的问题在XML中。我测试了你的代码。它工作得很好。但是单击侦听器应该类似于mainButton1.setOnClickListener(newview.OnClickListener(){public void onClick(View v){milestokems();}});我也有意见。试着学习如何从一项活动转到另一项活动。而不是隐藏按钮并再次显示!
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package k.t.m;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        public static final int padding_large=0x7f040002;
        public static final int padding_medium=0x7f040001;
        public static final int padding_small=0x7f040000;
    }
    public static final class drawable {
        public static final int ic_action_search=0x7f020000;
        public static final int ic_launcher=0x7f020001;
    }
    public static final class id {
        public static final int TextBox=0x7f080008;
        public static final int errors=0x7f080007;
        public static final int goButton=0x7f080005;
        public static final int main=0x7f080000;
        public static final int mainButton1=0x7f080002;
        public static final int mainButton2=0x7f080001;
        public static final int menu_settings=0x7f080009;
        public static final int mkm=0x7f080004;
        public static final int result=0x7f080006;
        public static final int secondaryButtonBack=0x7f080003;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int activity_main=0x7f070000;
    }
    public static final class string {
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050001;
        public static final int menu_settings=0x7f050002;
        public static final int title_activity_main=0x7f050003;
    }
    public static final class style {
        public static final int AppTheme=0x7f060000;
    }
}