مرسی، فقط اگر بخوام وقتی که کاربر روی حروف فارسی کلیک کرد چیزی توی EditText نمایش داده نشه و یک پیام نمایش بدم، شدنیه؟ فقط میخوام بدونم که میشه فهمید کاربر روی چه حرفی کلیک کرده قبل از اینکه اون حرف توی EditText نوشته شه؟
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
فقط کیبورد انگلیسی باز شود
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
سلام
میخواستم بدونم که میشه تو برنامه کاری کرد که وقتی روی یه EditText کلیک شد فقط کیبورد انگلیسی باز شه و کاربر نتونه کیبورد رو فارسی کنه؟
ممنون
پاسخها 3
فکر نکنم شدنی باشه ! ، به هر حال باید ورودی ها رو برسی کنید.
یک آرایه از الفبای انگلیسی بسازید بگید اگه داخل این آرایه بود قبول اش کن :)
نظرات
اقا مجتبی خسته نباشی < برای همین مثالی که گفتید از آرایه استفاده کنیم ؟ میشه از کد اسکی استفاده کرد ؟ که نیاز به آرایه نباشه ؟ روش استفاده اش چطوری میشه ؟
@حسین رضایی : ببخشید 4 ماه پیش پیامتون رو ندیدم D: ، میتونید یک کاستوم ویو درست کنید و Text Watcher براش بنویسید و Befor Text Change اش رو استفاده کنید و بگید اگر در فلان آرایه بود ، ولی با وجود جواب دوستون و استفاده از android:digit دیگه نیازی به این کار نیست و خود اندروید انجامش میده :) ، هر چند این طوری می تونید یه پیغام مناسب هم بدید
واقعیت اش تو اندروید تا الان نیاز به استفاده از کد اسکی نداشتم ، ولی تو جاوا وقتی یک char رو به int کست کنید ، میشه کد اسکی کارکتر ، حالا کافیه رنج حروفی که میخواین رو پیدا کنید و با یه شرط ساده برسی کنید :)
شاید این کاملا مشکل شما را حل نکند ولی با این کد می توانید پیش فرض کیبورد را تغییر دهید.
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String languageToLoad = "fa"; // your language
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.main);
}
}
مطالب بیشتر در اینجا
نظرات
همچنین در صورتی که بخواهید فقط اجازه دهید کاراکتر های خاصی قابل تایپ باشند و باقی کاراکتر ها اجازه تایپ شدن نداشته باشند می توانید خصوصیت Digits را این طور تنظیم کنید :
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 "
نظرات
فکر کنم این روش بهترین باشه _ البته میتونند کلا کیبورد نرم افزاری رو غیر فعال کنند و خودشو یک کیبورد بسازند (مثل پروژه HangMan)
دوست من نیاز به ساخت کیبورد به روش هنگ من نیست. می تونن کیبوردی با تمام نیازهای شخصی خودشون بسازند. در این لینک پروژه و لینک مربوطه داده شده است.
چجوری اصلا کلا کیبورد غیر فعال میشه؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات