问题已经改变。
我来自伊朗&我们的书面语言是波斯语;
我有一个计算键入字符的短信计数器;
我想当用户输入English
字符(英文字符+唱歌+数字)时,将变量do ++计算为Number: 160
,
但是,如果总共有Persian
个字符,那么将变量do ++计算为Number: 70
我该怎么做。
我对这段代码:var ucs2 = text.search(/[^\x00-\x7D]/)
php
中的 private final TextWatcher TextWatcher_Method = new TextWatcher()
{
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3)
{
cnt2=matn_counter.length();
TextView counter=(TextView)findViewById(R.id.txt_counter);
cnt1=(int) Math.ceil(cnt2/6);
Integer cnt3=(cnt2%6);
counter.setText(Integer.toString(cnt1)+"/"+Integer.toString(cnt3));
}
}
的罚款用户进行了罚款波斯语或英语。
Java中的等效代码 - 什么是Android?
{{1}}
答案 0 :(得分:2)
您无法从模拟器向设备发送“真实”短信,因为您没有SIM卡。
但是,如果您有多个正在运行,则可以将其从模拟器发送到模拟器。
要执行此操作,请检查以下问题:Sending and receiving text using android emulator
答案 1 :(得分:1)
以下是有关如何发送短信,拨打电话等的一些有用提示...... http://www.apurbadebnath.com/blog/android-emulator-tips/
答案 2 :(得分:1)
您可以使用Bidi课程。 欲了解更多信息,请查看this answer。
答案 3 :(得分:0)
答案:
实际上你应该检查ASCII字符。
如果任何字符
另外,当你提出动议时,如果所有字符都是ASCII(例如英文字母或数字),则消息长度限制为160.
代码很简单:
public static boolean isASCIIMessage(String s) {
for (int i = 0; i < Character.codePointCount(s, 0, s.length()); i++) {
int c = s.codePointAt(i);
if (c >= 0x0000 && c <=0x007F)
return false;
}
return true;
无论如何,如果你想检测波斯语输入,请参阅this answer。