انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای یک قطعه کد با فشار دادن دکمه ی go یا next در کیبورد مجازی

اجرای یک قطعه کد با فشار دادن دکمه ی go یا next در کیبورد مجازی

#1
سلام دوستان...
من چون مبتدی هستم سولات زیادی دارم که هرکدوم رو به عنوان یه موضوع مطرح میکنم و مطمىُنم که این سوالات برای همه ی مبتدی ها مث خودم پیش میاد....خب حالا مشکل من اینه که میخوام وقتی روی دکمه ی go یا next که در سمت 
راست پایین کیبورد مجازی قرار داره کلیک میکنم علاوه بر بستن کیبورد کدهایی که خودم تعیین میکنم اجرا بشه نه فقط کیبورد رو ببنده....متاسفانه خودم هر چی تلاش کردم نشد مثلا واسه EditText  مربوطه رویداد کلیک نوشتم دقیقا کاری رو که میخواستم انجام میداد اما مشکلش این بود که حتی وقتی متن داخل تکست ویو رو لمس میکردم کد ها اجرا میشدن ...ولی من میخوام یک.سری کد فقط با کلیک کردن دکمه ی next در کیبورد اجرا بشن...مث همیشه ممنون میشم از کمک و راهنماییتون.
پاسخ

اجرای یک قطعه کد با فشار دادن دکمه ی go یا next در کیبورد مجازی

#2
(۱۳۹۴/۱۲/۰۲, ۰۲:۰۲ ق.ظ)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 = (EditTextfindViewById(R.id.editText); 
بعد از اون بیا خاصیت setOnEditorActionLisener از EditText رو فعال کن
کد پی‌اچ‌پی:
edit_Text.setOnEditorActionListener(new TextView.OnEditorActionListener() {
 
       @Override
        public boolean onEditorAction
(TextView vint actionIdKeyEvent event) {
 
           
        
}
 
   }); 
و درنهایت توی یک دستور if براش تعریف کن که کاربر با زدن روی کلیک Go کار خاصی رو انجام بده. من توی این مثال یک پیغام براش تعریف کردم
کد پی‌اچ‌پی:
if (actionId == EditorInfo.IME_ACTION_GO) {
 
                   Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
 
                   return true;
 
               }
 
               return false
اگه ورودی درست بود مقدار true درغیر اینصورت مقدار false رو برمیگردونه



کدهای کامل بصورت زیر هستن
کد پی‌اچ‌پی:
EditText edit_Text = (EditTextfindViewById(R.id.editText);
 
       edit_Text.setOnEditorActionListener(new TextView.OnEditorActionListener() {
 
           @Override
            public boolean onEditorAction
(TextView vint actionIdKeyEvent event) {
 
               if (actionId == EditorInfo.IME_ACTION_GO) {
 
                   Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
 
                   return true;
 
               }
 
               return false;
 
           }
 
       }); 
امیدوارم تونسته باشم کمکی کرده باشم.
Iran  ErfanMahigir Iran
پاسخ
 سپاس شده توسط mahmoud1373 ، mahdi10539 ، programmerirani

اجرای یک قطعه کد با فشار دادن دکمه ی go یا next در کیبورد مجازی

#3
واقعا ممنونم خیییلی دقیق و کاربردی مشکلم حل شد امیدوارم همیشه موفق باشید.
پاسخ

اجرای یک قطعه کد با فشار دادن دکمه ی go یا next در کیبورد مجازی

#4
(۱۳۹۴/۱۲/۰۴, ۰۴:۵۸ ب.ظ)mahmoud1373 نوشته: واقعا ممنونم خیییلی دقیق و کاربردی مشکلم حل شد امیدوارم همیشه موفق باشید.

خواهش میکنم. ممنون از لطفتون. شماهم موفق باشید
Iran  ErfanMahigir Iran
پاسخ
 سپاس شده توسط programmerirani ، شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان