java - MaskedEditText 无法获取文本

标签 java android xml android-edittext

抱歉我的英语不好。
我正在使用图书馆 MaskedEditText 。一切正常,但我可以获取文本(仅限文本)。
示例:我有 XML:

<br.com.sapereaude.maskedEditText.MaskedEditText 
    android:id="@+id/phoneNumber"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="3dp"
    android:background="@null"
    android:inputType="number"
    mask:mask="(###) ###-##-##"
>
</br.com.sapereaude.maskedEditText.MaskedEditText>

如果用户输入文本:(111) 111-11-11,
我应该只得到 1111111111

下面是我的代码

MaskedEditText text = (MaskedEditText) findViewById(R.id.phoneNumber);
Toast.makeText(MainActivity.this, "Text without mask: " +
    text.getText(true), Toast.LENGTH_LONG).show();

错误:EditText 类型中的方法 getText() 不适用于参数( boolean 值)

更新
如果我使用这些方法:

Log.e("Mask ", text.getMask());
Log.e("getCharRepresentation ",
    String.valueOf(text.getCharRepresentation()));
Log.e("getCharRepresentation ", text.getText().toString());

其输出:

05-30 12:41:40.448: E/Mask(7980): (###) ###-##-##
05-30 12:41:40.448: E/getCharRepresentation(7980): #
05-30 12:41:40.448: E/getCharRepresentation(7980): (111) 111-11-11

最佳答案

好吧,假设您只有 (, )- 想要删除..

String str = String.valueOf(text.getCharRepresentation());
str = str.replaceAll("\\D", ""); // Replace all non-digits

这是一个例子:

public class TestReplacement {

    public static void main (String [] args) {

        String str = "(111) 111-11-11";

        System.out.println("String before replacement: " + str);

        str = str.replaceAll("\\D", ""); // Replace all non-digits

        System.out.println("String after replacement: " + str);
    }
}

输出:

String before replacement: (111) 111-11-11
String after replacement: 1111111111

关于java - MaskedEditText 无法获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544518/

相关文章:

java - 在我的 Spring 上下文文件中找不到 "ehcache: annotation-driven"定义

关于创建新局部变量以引用类成员变量的 Java 编码风格

android - 是否可以从 ContentProvider bulkInsert 获取最后的 "N"ID?

java - 在 Java 中读取 XML 文件

java - VPS 和基础架构即服务 IaaS,有什么区别?

java - 测试 Web api 响应时间时出现 401 请帮忙

java - 无法解析符号 '@string/default_notification_channel_id'

android - 我只能在某些版本的 Android 中需要权限吗?

java - 使用 VTD 从元素获取行号

java - 小程序无法在浏览器中运行