我面临两个问题。 1.从editText字段计算多个电话号码。 2.在跨越特定字符数后计算SMS号码。
<android.support.design.widget.TextInputLayout
android:id="@+id/phoneContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="50">
<com.andreabaccega.widget.FormEditText
android:id="@+id/idContacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Recipients"
android:ems="10"
android:inputType="phone"
android:padding="15dp" />
</android.support.design.widget.TextInputLayout>
在这里,我可以计算电话号码的字符。我需要统计整个电话号码。例如:如果用户在电话编辑字段中键入012346771233,02546547589,它将计为2.但在我的情况下,它是计数单我搜索了很多,但找不到任何解决方案。
其次,我有一个editText字段,用户可以在其中输入消息。当用户跨越字符的特定数字(160个字符)时,它将执行2个操作。它将增加sms编号并设置字符编号(146个字符) )为下一个短信。
<android.support.design.widget.TextInputLayout
android:id="@+id/textContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="160">
<com.andreabaccega.widget.FormEditText
android:id="@+id/idMsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/message"
android:inputType="text|textMultiLine|textAutoCorrect"
android:padding="10dp"
whatever:emptyErrorString="Message can not be empty."
whatever:testType="alpha" />
</android.support.design.widget.TextInputLayout>
在我的情况下,我可以计算字符,但我如何计算短信数字并为下一个短信设置counterMaxLength?
答案 0 :(得分:0)
对于您的第一个问题,您可以在EditText onchange listener
中进行计算yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() >= 0) {
String []phnArray = s.toString().split(",");
int phCount = phnArray.length;
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
对于你的第二个问题,我不清楚你真正想要的是什么。
如果你想检查长度是否超过160,那么你可以检查
if(s.length > 160){
//do your require changes here
}