我有一个可以在模拟器和 Droid 手机上运行的应用程序。在 LG Optimus(BTW 安装了 Swype)上进行测试时,它崩溃并显示以下堆栈跟踪(注意:它在 EditText 的构造函数中)。
奇怪的是,TextView (981) 中假定的违规行是 getDefualtView(
) 的方法签名,并且在 2.2 源代码中没有对 EditText 或 TextView 中的 GestureDetector 的引用。
我假设(或冒险猜测这很可能是由于 Swype 造成的)并且不确定:
- 如果是swype,那我怎么办 编写我的代码,使其成为 swype 友好吗?
- 如果不是swype, 那会是什么呢?什么是 莫名其妙的是它在 使用默认样式的构造函数, 属性为 null。
感谢任何帮助。
最诚挚的问候, S-
-- 堆栈跟踪 fragment --
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)
-- 结束堆栈跟踪--
block 引用
最佳答案
我查看了源代码,似乎在 UI 线程中调用 Looper.prepare()
将修复此异常。但这很奇怪。你在使用多线程吗?
关于android - 带 Swype 的 LG Optimus 上的 EditText 奇怪崩溃(适用于模拟器和 Droids),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6144823/