简体   繁体   中英

class cast exception

This is my code:

package com.example.userpage;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class UserPage extends Activity {

     String tv,tv1;
    EditText name,pass;
     TextView x,y;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         Button button = (Button) findViewById(R.id.widget44);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                name.setText(" ");
                pass.setText(" ");
            }
        });

        x = (TextView) findViewById(R.id.widget46);
        y = (TextView) findViewById(R.id.widget47);
         name = (EditText)findViewById(R.id.widget41);
         pass = (EditText)findViewById(R.id.widget42);
        Button button1 = (Button) findViewById(R.id.widget45);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

              tv= name.getText().toString();
               tv1 = pass.getText().toString();
               x.setText(tv);
               y.setText(tv1);
           }
        });
    }
}

And this is my log cat:

02-16 12:28:32.648: ERROR/AndroidRuntime(1039): FATAL EXCEPTION: main
02-16 12:28:32.648: ERROR/AndroidRuntime(1039): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.userpage/com.example.userpage.UserPage}: java.lang.ClassCastException: android.widget.TextView
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.os.Looper.loop(Looper.java:123)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.ActivityThread.main(ActivityThread.java:4627)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at java.lang.reflect.Method.invokeNative(Native Method)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at java.lang.reflect.Method.invoke(Method.java:521)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at dalvik.system.NativeStart.main(Native Method)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039): Caused by: java.lang.ClassCastException: android.widget.TextView
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at com.example.userpage.UserPage.onCreate(UserPage.java:34)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-16 12:28:32.648: ERROR/AndroidRuntime(1039):     ... 11 more
02-16 12:28:32.698: WARN/ActivityManager(67):   Force finishing activity com.example.userpage/.UserPage
02-16 12:28:32.967: DEBUG/dalvikvm(292): GC_EXPLICIT freed 46 objects / 2240 bytes in 6840ms
02-16 12:28:33.247: WARN/ActivityManager(67): Activity pause timeout for HistoryRecord{43ee7b70 com.example.userpage/.UserPage}
02-16 12:28:36.947: INFO/Process(1039): Sending signal. PID: 1039 SIG: 9
02-16 12:28:37.017: INFO/ActivityManager(67): Process com.example.userpage (pid 1039) has died.
02-16 12:28:37.128: WARN/InputManagerService(67): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43e872f8
02-16 12:28:42.087: DEBUG/dalvikvm(176): GC_EXPLICIT freed 156 objects / 11488 bytes in 145ms
02-16 12:28:45.391: WARN/ActivityManager(67): Activity destroy timeout for HistoryRecord{43ee7b70 com.example.userpage/.UserPage}
02-16 12:28:47.177: DEBUG/SntpClient(67): request time failed: java.net.SocketException: Address family not supported by protocol

If this

Caused by: java.lang.ClassCastException: android.widget.TextView 02-16 12:28:32.648: ERROR/AndroidRuntime(1039): at com.example.userpage.UserPage.onCreate(UserPage.java:34)

...is in your code, then it seems as if you're trying to cast some (non-textview) object to a TextView. Try to set a debug point in that onCreate and check what is going on.

Update
Are you sure R.id.widget46 and R.id.widget47 are a TextView or did you accidentally create an EditText, given that widget41 and widget42 are EditTexts. Or are the last two TextViews and you try to cast them to EditTexts. Check that.

Had the same problem. My solution: just clean project and rebuild it. For some reason R.class didn't update properly.

I had the same problem. The solution worked for me was:

I have deleted the textview and recreated it by dragging a new textview from graphical layout and named it with different ID. Also the other change was its order inside the xml. It had been on top, after recreating it was on bottom of the xml page.

After that I did not get any class cast exception.

删除R.java清理项目保存文件构建和运行

The problem could also be because the TextView is cast to something else. I faced the problem and had the same java.lang.ClassCastException.

只需将TextView添加到xml文件即可

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM