0
edittextに入力テキストのロケールが何であるか知りたいです! しかし、私はキーボードのロケールを取得しようとしましたが、それは役に立ちませんでした。 私はedittextに英語を入力しないので、助けてください! 英語を入力できないことをユーザーに知ってもらいたい!androidの文字列のロケールを取得するには?
私の悪い英語のために申し訳ありません!ここで
は私のコードです:
edtUsernameLogin.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (editable.toString().isEmpty()) {
mtfUsernameLogin.setLabelColor(G.resources.getColor(R.color.cpb_white), "نام کاربری");
} else {
String locale = G.inputMethodManager.getCurrentInputMethodSubtype().getLocale();
if (locale.equals("fa") || locale.equals("ar")) {
mtfUsernameLogin.setLabelColor(G.resources.getColor(R.color.sPink), "نام کاربری باید انگلیسی باشد !");
} else {
mtfUsernameLogin.setLabelColor(G.resources.getColor(R.color.sGreen), "نام کاربری");
}
}
}
});
私が正しく理解していれば、uは、キーボードを開きたいです電話の言語ごとに? –
IMHOは、デフォルトのデバイス言語を取得するか、またはedittextに入力されたテキストから言語を検出します – uguboz
あなたは正確に何をしようとしていますか?彼が決めるならば、ユーザーが英語でタイピングするのを止めるのは難しい。ラテン文字を許可しないフィルタを設定することはできますが、言語がそれらを使用していない場合にのみ機能し、バイリンガルユーザーやテクニカルまたは専門用語として英語を使用するユーザーには迷惑になります。 –