gpt4 book ai didi

java - MaskedEditText 无法获取文本

转载 作者:行者123 更新时间:2023-12-01 07:55:36 26 4
gpt4 key购买 nike

抱歉我的英语不好。
我正在使用图书馆 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com