我有类转换异常的问题。任何人都可以请帮我吗? [英] I am having a problem of class cast exception. Can anyone please help me out?

查看:124
本文介绍了我有类转换异常的问题。任何人都可以请帮我吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的code:

 包com.example.userpage;进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.view.View;
进口android.widget.Button;
进口android.widget.EditText;
进口android.widget.TextView;公共类UserPage延伸活动{     串电视,TV1;
    EditText上的名字,通过;
     TextView的X,Y;
    / **当第一次创建活动调用。 * /
    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
         Button按钮=(按钮)findViewById(R.id.widget44);
        button.setOnClickListener(新View.OnClickListener(){
            公共无效的onClick(视图v){                name.setText();
                pass.setText();            }
        });        X =(的TextView)findViewById(R.id.widget46);
        Y =(的TextView)findViewById(R.id.widget47);
         名称=(EditText上)findViewById(R.id.widget41);
         通=(EditText上)findViewById(R.id.widget42);
        按钮按钮1 =(按钮)findViewById(R.id.widget45);
        button1.setOnClickListener(新View.OnClickListener(){
            公共无效的onClick(视图v){              。电视= name.getText()的toString();
               。TV1 = pass.getText()的toString();
               x.setText(电视);
               y.setText(TV1);
           }
        });
    }
}

这是我的日志猫:

  12月2日至16日:28:32.648:ERROR / AndroidRuntime(1039):致命异常:主要
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):了java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.userpage / com.example.userpage.UserPage}:java.lang.ClassCastException:机器人.widget.TextView
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.os.Handler.dispatchMessage(Handler.java:99)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.os.Looper.loop(Looper.java:123)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.ActivityThread.main(ActivityThread.java:4627)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在java.lang.reflect.Method.invokeNative(本机方法)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在java.lang.reflect.Method.invoke(Method.java:521)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在dalvik.system.NativeStart.main(本机方法)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):java.lang.ClassCastException:产生的原因android.widget.TextView
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在com.example.userpage.UserPage.onCreate(UserPage.java:34)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12月2日至一十六日:28:32.648:ERROR / AndroidRuntime(1039):11 ...更多
12月2日至一十六日:28:32.698:WARN / ActivityManager(67):强制完成活动com.example.userpage / .UserPage
12月2日至一十六日:28:32.967:DEBUG / dalvikvm(292):GC_EXPLICIT释放46的对象/在6840ms 2240字节
12月2日至一十六日:28:33.247:WARN / ActivityManager(67):为HistoryRecord活动暂停超时{43ee7b70 com.example.userpage / .UserPage}
12月2日至一十六日:28:36.947:信息/流程(1039):发送信号。 PID:1039 SIG:9
12月2日至一十六日:28:37.017:信息/ ActivityManager(67):过程com.example.userpage(PID 1039)已经死亡。
12月2日至一十六日:28:37.128:WARN / InputManagerService(67):窗口已经集中,忽视聚焦增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@43e872f8
12月2日至一十六日:28:42.087:DEBUG / dalvikvm(176):GC_EXPLICIT释放156对象/ 11488字节的145毫秒
12月2日至一十六日:28:45.391:WARN / ActivityManager(67):活动破坏了HistoryRecord超时{43ee7b70 com.example.userpage / .UserPage}
12月2日至一十六日:28:47.177:DEBUG / SntpClient(67):请求时失败:java.net.SocketException异常:地​​址协议不支持


解决方案

如果此

 产生的原因:java.lang.ClassCastException:android.widget.TextView 12月2日至16日:28:32.648:ERROR / AndroidRuntime(1039):在com.example.userpage.UserPage .onCreate(UserPage.java:34)

...在你的code,那么就好像你要投一些(非的TextView)对象一个TextView。尝试在的onCreate设置调试点,并检查到底是怎么回事。

更新结果
你确定 R.id.widget46 R.id.widget47 是一个的TextView 还是你accedentally创建一个EditText,因为widget41和widget42是EditTexts。或者是最后两个TextViews,并尝试将它们转换成EditTexts。检查

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 accedentally 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.

这篇关于我有类转换异常的问题。任何人都可以请帮我吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆