2011-02-16 146 views
5

这是我的代码:类转换异常

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); 
      } 
     }); 
    } 
} 

这是我的日志猫:

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: [email protected] 
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 
+2

发表您的XML还 – ingsaurabh 2011-02-16 07:07:36

+1

请只发送错误日志。不要把完整的logcat。在这个问题中也把你的布局代码。那么只有我们可以找出错误。 – Mathew 2011-02-16 07:07:42

+0

请仅向我们提供logcat中那些出现错误而不是整个logcat输出的部分。不要忘记格式化它。 – 2011-02-16 07:11:09

回答

11

如果

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) 

...在你的代码,然后看起来好像你试图将一些(非textview)对象转换为TextView。尝试在onCreate中设置调试点并检查发生了什么。

更新
确定R.id.widget46R.id.widget47TextView的还是你不小心创建一个EditText,因为widget41和widget42是EditTexts。或者是最后两个TextView,并且您尝试将它们转换为EditTexts。检查一下。

-1

只是一个TextView添加到您的xml文件

0

也可能是问题,因为TextView中被转换为别的东西。我面临这个问题,并具有相同的java.lang.ClassCastException。

1

我有同样的问题。解决方案为我工作是:

我已经删除了textview,并通过从图形布局中拖动新的textview并用不同的ID命名它来重新创建它。另一个变化是它在xml中的顺序。它重新创建后位于xml页面的底部。

之后,我没有得到任何类抛出异常。

9

有同样的问题。我的解决方案:只需清理项目并重建它。出于某种原因,R.class没有正确更新。

0

删除R.java 清洁工程 保存文件 构建&运行