我有一个可以在模拟器和Droid手机上运行的应用程序。在LG Optimus(BTW安装了Swype)上进行测试时,它崩溃并显示以下堆栈跟踪信息(注意:它位于EditText的构造函数中)。

奇怪的是,在TextView(981)中应该冒犯的行是getDefualtView(的方法签名,并且在EditText中没有引用GestureDetector或在2.2源代码中没有引用TextView。

我正在推测(或冒昧地猜测它很可能是由于Swype造成的),并且不确定:

  • 如果是swype,那我该怎么办
    写我的代码,以便它是swype
    友好?
  • 如果不是swype,
    那会是什么呢?什么是
    莫名其妙的是,它在
    使用默认样式的构造函数,
    属性为null。

  • 任何帮助表示赞赏。

    最亲切的问候,
    S-

    -stacktrace片段-
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.os.Handler.<init>(Handler.java:121)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.view.GestureDetector$GestureHandler.<init>(GestureDetector.java:250)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.view.GestureDetector.<init>(GestureDetector.java:370)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.view.GestureDetector.<init>(GestureDetector.java:347)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.view.GestureDetector.<init>(GestureDetector.java:331)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.widget.TextView.<init>(TextView.java:981)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.widget.EditText.<init>(EditText.java:55)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.widget.EditText.<init>(EditText.java:51)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at android.widget.EditText.<init>(EditText.java:47)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at com.mobiapps.android.gui.EditTextImpl.<init>(EditTextImpl.java:28)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at com.mobiapps.android.gui.TextFieldImpl.makeTextView(TextFieldImpl.java:23)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at com.mobiapps.android.gui.ToolkitImpl.createTextField(ToolkitImpl.java:429)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at com.mobiapps.android.gui.ToolkitImpl.createWidgets(ToolkitImpl.java:492)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at com.mobiapps.android.gui.ToolkitImpl.initializeContainer(ToolkitImpl.java:555)
    05-26 12:28:23.440: ERROR/AndroidRuntime(11912):     at com.mobiapps.common.gui.WidgetContainer.initializeImpl(WidgetContainer.java:88)
    

    -结束堆栈跟踪-

    块引用

    最佳答案

    我调查了资料来源,似乎在UI线程中调用Looper.prepare()将解决此问题。但这很奇怪。您正在使用多个线程吗?

    09-30 18:11