0

我在 android 市场收到了以下崩溃报告。在测试时我没有发现任何崩溃并且我的应用程序运行良好。一旦我发布了我的应用程序,我就会得到以下崩溃报告,如下所示。

但是我无法找到崩溃发生的位置,我检查了一些堆栈溢出问题,并且在某些情况下,我setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);在某些设备中使用了 make 导致崩溃。这是真的吗,因为在我的应用程序中的某些活动中,我使用了这行代码来更改EditText密码文本/文本密码的输入类型?

请帮我解决这个问题。

堆栈跟踪

java.lang.NullPointerException
at android.widget.TextView.onTouchEvent(TextView.java:7529)
at android.view.View.dispatchTouchEvent(View.java:3933)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:906)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:906)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:906)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:906)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:906)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:906)
at  com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1877)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1211)
at android.app.Activity.dispatchTouchEvent(Activity.java:2198)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1852)
at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2382)
at android.view.ViewRoot.handleMessage(ViewRoot.java:2010)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4385)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)


<EditText
    android:id="@+id/txt_edit_passwrd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txt_passwrd_title"
    android:background="@drawable/img_password_textbox"
    android:cursorVisible="true"
    android:layout_marginTop="195dp"
    android:hint="@string/passwrd_hint_text"
    android:inputType="textPassword"
    android:maxLength="10"
    android:padding="10dp"
    android:textColor="#121212" >
</EditText>
4

3 回答 3

1

NullPointerException 在我自己的经验中往往意味着它找不到引用对象,例如找不到您设置输入类型的编辑文本,检查您的布局引用以及您如何声明 EditText 本身。

于 2012-05-29T11:51:07.433 回答
0

首先检查,Have you mention Minimum_sdk_version in android-manifest?

如果不是,那么以下可能是您的应用程序崩溃的原因——

如果您使用的是客户设备上不支持的 android 操作系统的功能。假设您使用的是在 android 2.0 之前不支持的 Finger_Pointer(如 MotionEvent.ACTION_POINTER_DOWN ) 。

或者您正在使用onBackPressed()不支持 android 1.6.I 只是提示您可以检查其他类似的问题,如果您有

更新

对于 HTC 设备,TextView 的属性InputType.TYPE_CLASS_NUMBER导致崩溃

这是讨论的相同问题,您也可以参考this。

于 2012-05-29T13:32:18.273 回答
0

解决方案是不要将“setInputType”与TextView一起使用。无论如何,您都不需要对 TextViews 进行输入类型过滤,因为它们仅用于显示文本。只有 EditText 需要输入类型(并且它在那里工作)。我对低于 4.2 的 Android 版本也有同样的问题。

缺点是,在文本视图上应用输入类型“密码”实际上是有意义的,因为它掩盖了密码,这可能是有意的(在我的情况下)。但这会在触摸或滚动文本视图时导致随机崩溃。

于 2014-05-26T13:50:37.563 回答