java - JAVA代码中的android getInputType

标签 java android

我在 XML 中定义了一个带有属性 android:inputType="numberSigned" 的 EditText,因此,当我尝试在 Java 代码中获取它时,如下所示:

int type = mEditText.getInputType();
switch(type){
case InputType.TYPE_NUMBER_FLAG_SIGNED:
//do when I get EditText defined with 'numberSinged'
//do something
break;
}

但是,这对我不起作用。因此,我尝试检查 Android 源代码,TYPE_NUMBER_FLAG_SIGNED=4096。当我尝试打印 println(mEditText.getInputType()) 时,它变成了 4098。我找不到任何等于 4098 的变量。
有人能告诉我原因吗?

我英语不好,希望你能听懂我的意思!谢谢!

最佳答案

可以为 inputType 分配多个标志。要查明是否设置了标志,请使用按位 AND (&) 运算符:

int type = mEditText.getInputType();
if((type & InputType.TYPE_NUMBER_FLAG_SIGNED) > 0)
{
    // your stuff here
}

我猜,这里不可能使用switch case。

关于java - JAVA代码中的android getInputType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486101/

相关文章:

java - 使用 mouseDragged 时,如何让图像移动而不首先跳转到鼠标光标的位置?

Java:如何通过鼠标单击中断程序执行中途

java - 保存到字符串/从字符串加载时如何处理空列表?

java - 更改 Checkbox for Android 的选中和未选中图标

java - 如何避免兄弟子模块上的 Maven 版本?

java - Android 用户界面未更新

android - Unity ui 掩码不适用于谷歌像素设备

android - 在 Spinner 选择上显示 EditText 项目

Android Glide 图像未显示在第一个屏幕上

java - 如何使用代码设置 Activity 的背景?