android:inputType="numberDecimal" vs. InputType.TYPE_NUMBER_FLAG_DECIMAL

Fre*_* J. 5 layout android attributes

以下条件评估为假。不是应该是真的吗?

editText.getInputType() == InputType.TYPE_NUMBER_FLAG_DECIMAL
Run Code Online (Sandbox Code Playgroud)

特别是在 xml 文件中时,我有

android:inputType="numberDecimal"
Run Code Online (Sandbox Code Playgroud)

调试表明

editText.getInputType() = 8194
Run Code Online (Sandbox Code Playgroud)

InputType.TYPE_NUMBER_FLAG_DECIMAL = 8192
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Ani*_*dan 9

numberDecimal 是指 TYPE_CLASS_NUMBER 和 TYPE_NUMBER_FLAG_DECIMAL。所以当你比较时,你需要这样做。

editText.getInputType() == (InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_CLASS_NUMBER)
Run Code Online (Sandbox Code Playgroud)