بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

تشخیص نوع خط فارسی و انگلیسی

مدیریت گفتگو
شهابی 10 سال پیش
آخرین تغییر: 10 سال پیش

چطور میتونیم  وقتی کاربر داخل یک EditText  تایپ میکند تشخیص بدیم که این کاربر داره فارسی می نویسه یا انگلیسی !

نظرات

پاسخ‌ها 3

زهرا رئیسی 10 سال پیش

    private boolean checkEnglish(String string) {
Pattern p = Pattern.compile("[a-zA-Z]");
boolean hasSpecialChar = p.matcher(string).find();

return hasSpecialChar;

}

نظرات

شهابی 10 سال پیش
می خوام کارکتر به کارکتر بهفمم این فقط کارکتر اول متوجه میشی
Hamedmtn 10 سال پیش


 search_edit.addTextChangedListener(newTextWatcher(){
@Override
publicvoid onTextChanged(CharSequence s,int start,int before,int count){


  InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String
locale = ims.getLocale();
Log.i("input_lang" , locale);
//به اینصورت میتونید زبان رو تشخیص دهید }
@Override

public
void beforeTextChanged(CharSequence s,int start,int count,int after){
// TODO Auto-generated method stub

}

@Override

public
void afterTextChanged(Editable s){
// TODO Auto-generated method stub
}
}
);

 

نظرات

شهابی 10 سال پیش
نه این درست نیست با این متد فقط متوجه میشی که زبان گوشی چی هست نه اینکه کاربر داره فارسی مینویسه یا انگلیسی !
هادی بی غم 10 سال پیش

از این تابع استفاده کنید این کد مشخص میکنه متغییر رشته ای که بهش ارسال شده فارسی هست یا انگلیسی

 public static boolean isfarsi(String s){
finalPattern RTL_CHARACTERS =
Pattern.compile("[\u0600-\u06FF\u0750-\u077F\u0590-\u05FF\uFE70-\uFEFF]");
Matcher matcher = RTL_CHARACTERS.matcher(s);
if(matcher.find()){
return true;// فارسی
}

return false;// انگلیسی
}

نظرات

زهرا رئیسی 10 سال پیش
همون کد ی که براتون نوشتم رو تو onchangelistener استفاده کنید من همین کار رو میکنم جواب میده
شهابی 10 سال پیش
با این کد پاسخ گرفتم ، ممنون .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .