2011-10-24 81 views
0

我從數據庫中提取數據,返回類的實例中的值。在我的我的活動的onCreate方法,我設置的內容視圖,然後運行下面的代碼:Android TextView,使用多個變量拼接在一起的setText

val thisObject:ClassCardJ = myDBAdapter.getAddressBookEntry(cardNum) 
//val textFullName:String = (thisObject.getfName().toString() + " " + thisObject.getlName().toString()) 

val textFirstName:String = thisObject.getfName().toString() 
val textLastName:String = thisObject.getlName().toString() 
firstLine.setText(textFirstName) 
Toast.makeText(AddressBookEntryActivity.this, thisObject.getlName().toString(), Toast.LENGTH_SHORT).show(); 

它設置於firstLine文本到textFirstName值並顯示與我正在使用textLastName值舉杯。

但是,當我嘗試將firstLine的setText更改爲textFullName(取消註釋之後)時,我的程序強制關閉。我在做一些有趣的事情嗎?

按要求,我logcat的堆棧跟蹤(我試過,包括一切有關而忽略一切不相關):

I/ActivityManager( 67): Process com.android.email (pid 330) has died. 
I/ActivityManager( 67): Starting: Intent { cmp=me.snapcard/.AddressBookActivity } from pid 393 
I/ActivityManager( 67): Displayed me.snapcard/.AddressBookActivity: +589ms 
I/ActivityManager( 67): Starting: Intent { cmp=me.snapcard/.AddressBookEntryActivity (has extras) } from pid 393 
E/dalvikvm( 393): Could not find class 'scala.collection.mutable.StringBuilder', referenced from method me.snapcard.AddressBookEntryActivity.onCreate 
W/dalvikvm( 393): VFY: unable to resolve new-instance 1148 (Lscala/collection/mutable/StringBuilder;) in Lme/snapcard/AddressBookEntryActivity; 
D/dalvikvm( 393): VFY: replacing opcode 0x22 at 0x0050 
D/dalvikvm( 393): VFY: dead code 0x0052-0091 in Lme/snapcard/AddressBookEntryActivity;.onCreate (Landroid/os/Bundle;)V 
D/AndroidRuntime( 393): Shutting down VM 
W/dalvikvm( 393): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
E/AndroidRuntime( 393): FATAL EXCEPTION: main 
E/AndroidRuntime( 393): java.lang.NoClassDefFoundError: scala.collection.mutable.StringBuilder 
E/AndroidRuntime( 393): at me.snapcard.AddressBookEntryActivity.onCreate(AddressBookEntryActivity.scala:40) 
E/AndroidRuntime( 393): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
E/AndroidRuntime( 393): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
E/AndroidRuntime( 393): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
E/AndroidRuntime( 393): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
E/AndroidRuntime( 393): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
E/AndroidRuntime( 393): at android.os.Handler.dispatchMessage(Handler.java:99) 
E/AndroidRuntime( 393): at android.os.Looper.loop(Looper.java:130) 
E/AndroidRuntime( 393): at android.app.ActivityThread.main(ActivityThread.java:3683) 
E/AndroidRuntime( 393): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime( 393): at java.lang.reflect.Method.invoke(Method.java:507) 
E/AndroidRuntime( 393): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
E/AndroidRuntime( 393): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
E/AndroidRuntime( 393): at dalvik.system.NativeStart.main(Native Method) 
W/ActivityManager( 67): Force finishing activity me.snapcard/.AddressBookEntryActivity 
W/ActivityManager( 67): Force finishing activity me.snapcard/.AddressBookActivity 
W/ActivityManager( 67): Activity pause timeout for HistoryRecord{4082ce18 me.snapcard/.AddressBookEntryActivity} 
I/dalvikvm( 67): Jit: resizing JitTable from 1024 to 2048 
W/ActivityManager( 67): Launch timeout has expired, giving up wake lock! 
+2

發佈您的logcat堆棧跟蹤。 – Farhan

+0

但爲什麼不直接使用firstLine.setText(thisObject.getfName()。toString()+「」+ thisObject.getlName()。toString())?如果你這樣做,你仍然有錯誤嗎? – Hiral

+0

是的,當我這樣做時,我仍然遇到錯誤。看看logcat,看起來scala.collection.mutable.StringBuilder是不知何故可能是負責構建一個像這樣的字符串(並且像我在FullName變量中那樣)。我不知道這是爲什麼,或者不是。我希望有人能夠對此有所瞭解。 – MRN

回答

1

就像你說的,你用一個StringBuilder。我懷疑你的scala.collection.mutable對象的編碼不允許它的項目的順利連接。我強烈建議你在Scala的StringBuilder中包裝連接字符串(包括textFirstName和textLastName,如果你打算單獨使用它們)。如果你想要使用java.lang.StringBuilder,那麼你可以通過簡單地使用java.lang.Stringbuilder包裝Scala StringBuilder來轉換Scala StringBuilder,這是詳細的here。希望有所幫助!