(۱۳۹۴/۱۲/۰۲, ۰۲:۰۲ ق.ظ)mahmoud1373 نوشته: سلام دوستان...
من چون مبتدی هستم سولات زیادی دارم که هرکدوم رو به عنوان یه موضوع مطرح میکنم و مطمىُنم که این سوالات برای همه ی مبتدی ها مث خودم پیش میاد....خب حالا مشکل من اینه که میخوام وقتی روی دکمه ی go یا next که در سمت
راست پایین کیبورد مجازی قرار داره کلیک میکنم علاوه بر بستن کیبورد کدهایی که خودم تعیین میکنم اجرا بشه نه فقط کیبورد رو ببنده....متاسفانه خودم هر چی تلاش کردم نشد مثلا واسه EditText مربوطه رویداد کلیک نوشتم دقیقا کاری رو که میخواستم انجام میداد اما مشکلش این بود که حتی وقتی متن داخل تکست ویو رو لمس میکردم کد ها اجرا میشدن ...ولی من میخوام یک.سری کد فقط با کلیک کردن دکمه ی next در کیبورد اجرا بشن...مث همیشه ممنون میشم از کمک و راهنماییتون.
سلام
من این کار رو با یک مثال برای شما انجام میدم امیدوارم که یادش بگیرید
اولین کار اینه توی فایل layout یک EditText ایجاد کنی و خاصیت imeOptions بزاری روی actionGo بصورت زیر
کد پیاچپی:
android:imeOptions="actionGo"
کد پیاچپی:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:text="Name"
android:ems="10"
android:id="@+id/editText"
android:imeOptions="actionGo"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
اگه لازم شد خاصیت تایپش رو هم بذار روی Text که ین زیاد لازم نیست اینو گفتم در صورت خطا اینکارو کن.
حالا توی فایل java برنامه اول یک شی از EditText درس کن
کد پیاچپی:
EditText edit_Text = (EditText) findViewById(R.id.editText);
کد پیاچپی:
edit_Text.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
}
});
کد پیاچپی:
if (actionId == EditorInfo.IME_ACTION_GO) {
Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
return true;
}
return false;
کدهای کامل بصورت زیر هستن
کد پیاچپی:
EditText edit_Text = (EditText) findViewById(R.id.editText);
edit_Text.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_GO) {
Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
ErfanMahigir