看板 AndroidDev 關於我們 聯絡資訊
板友好: 小弟最近接觸 Android 設計, 我把某個 tablerow 從畫面中間位置拉到最上面,(最上層為linearLayout) 然後編譯程式就出現如下錯誤訊息:(多到它不想印出來...) 12-05 15:19:40.009: D/AndroidRuntime(17690): Shutting down VM 12-05 15:19:40.009: W/dalvikvm(17690): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0) 12-05 15:19:40.009: E/AndroidRuntime(17690): FATAL EXCEPTION: main 12-05 15:19:40.009: E/AndroidRuntime(17690): java.lang.RuntimeException: Unable to start activity ComponentInfo{lhu.stevenpon.f713.com/lhu.stevenpon.f713.com.hotlifebluetoothspp}: java.lang.ClassCastException: android.widget.TableRow 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.ActivityThread.access$1500(ActivityThread.java:135) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.os.Handler.dispatchMessage(Handler.java:99) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.os.Looper.loop(Looper.java:150) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.ActivityThread.main(ActivityThread.java:4385) 12-05 15:19:40.009: E/AndroidRuntime(17690): at java.lang.reflect.Method.invokeNative(Native Method) 12-05 15:19:40.009: E/AndroidRuntime(17690): at java.lang.reflect.Method.invoke(Method.java:507) 12-05 15:19:40.009: E/AndroidRuntime(17690): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 12-05 15:19:40.009: E/AndroidRuntime(17690): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 12-05 15:19:40.009: E/AndroidRuntime(17690): at dalvik.system.NativeStart.main(Native Method) 12-05 15:19:40.009: E/AndroidRuntime(17690): Caused by: java.lang.ClassCastException: android.widget.TableRow 12-05 15:19:40.009: E/AndroidRuntime(17690): at lhu.stevenpon.f713.com.hotlifebluetoothspp.onCreate(hotlifebluetoothspp.java:128) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) 12-05 15:19:40.009: E/AndroidRuntime(17690): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836) 12-05 15:19:40.009: E/AndroidRuntime(17690): ... 11 more 出現錯誤的程式碼: mOutEditText = (EditText) findViewById(R.id.edit01); 我是使用 eclipse 編輯程式,滑鼠停留在變數 R.id.edit01 上 會顯示一個記憶體位址(?),而在我上移 TableRow後,該記憶體位址會 改變,導致編譯時找不到該變數,而發生錯誤。 (朋友給我的解釋) 請問各位板友: 如果不能直接用拉的做編輯,那假設我想修改一個已經設計好的 .xml檔, 應該要如何著手呢? 感謝賜教! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.201.154 ※ 編輯: Xavier 來自: 220.130.201.154 (12/05 16:17)
kewang:codecodecodecodecodecodecodecodecodecodecodecodecode... 12/05 16:46
bukiya:R.id.edit01是TableRow? 那轉型成EditText當然會失敗 12/05 16:46
Xavier:R.id.edit01是EditText, 放在一個TableRow裡。 12/05 17:04
※ 編輯: Xavier 來自: 111.246.79.54 (12/05 19:46)
asilzheng:改變 UI layout 後 請先 clean 再重 build 12/05 22:40
Xavier:好的 謝謝你的建議! 12/05 23:21