imeOptions "অ্যাকশনেক্সট" প্রোগ্রামগতভাবে - পরবর্তী ক্ষেত্রে কীভাবে লাফ দেবেন?


92

বিন্যাস XML- এ উল্লেখ করা সম্ভব android:imeOptions="actionNext"যা যোগ করা Nextফোকাস পরবর্তী মাঠে জাম্প - ভার্চুয়াল কীবোর্ড এবং এটি ক্লিক করে বোতাম।

এই প্রোগ্রামটিমেটিকভাবে কীভাবে করবেন - যেমন পরবর্তী ইভেন্টে যাওয়ার জন্য কিছু ইভেন্ট ট্রিগার ফোকাসের ভিত্তিতে?

উত্তর:


192

আপনি IME বিকল্পগুলির জন্য EditorInfo বর্গ থেকে ধ্রুবকগুলি ব্যবহার করতে পারেন। মত,

editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);

হ্যাঁ নাহলে এটি একটি নতুন লাইন সন্নিবেশ করে এবং এতে ঝাঁপ দেয় =)
ইলকার বাল্টাচি

4
এটি কীভাবে ওপি-র প্রশ্নের উত্তর দেয়? এটি স্বয়ংক্রিয়ভাবে পরবর্তী মাঠে লাফ দেয় না।
হিটম্যানিডোস

27

পরবর্তী ফোকাসযোগ্য ক্ষেত্রের জন্য এবং অনুরোধ করার চেয়ে অনুসন্ধান করুন requestFocus()

TextView nextField = (TextView)currentField.focusSearch(View.FOCUS_RIGHT);
nextField.requestFocus();

4
এই প্রশ্নের শিরোনাম প্রসঙ্গে এটি একটি সত্য উত্তর নয়, তবে এটি প্রযুক্তিগতভাবে একটি বৈধ উত্তর। নীচে উত্তর আরও উপযুক্ত।
শন গ্লোভার

4
@ সানগ্লোভার আপনার নীচের মত শব্দ ব্যবহার করবেন না কারণ উত্তরগুলির অবস্থান পরিবর্তন করে চলেছে।
নাইকে 15

20

শুধু পরামর্শ, আপনি যদি ব্যবহার করা হয়

     EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE); 

এটি কাজ করে না, আপনার সম্পাদনা পাঠ্য একটি একক লাইন ব্যবহার করছে তা নিশ্চিত করুন।

যেমন:

       editTextSample.setSingleLine();

4
ধন্যবাদ এটি উত্তর গ্রহণ করা উচিত। সেটআপ আইটেমেশন পূর্বে সেটসিংলাইন () কে কল করুন।
হারমান

8

ভার্চুয়াল QWERTYকীবোর্ডে ডিফল্ট কীগুলি ছাড়াও অতিরিক্ত কী যুক্ত করার প্রয়োজনীয়তা রয়েছে ।

এক্সএমএল ব্যবহার করা হচ্ছে

<EditText android:text="@+id/EditText01" 
android:id="@+id/EditText01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:imeOptions="actionDone"/>

By Programmatic Way

EditorInfoআপনি যখন আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে কোনও ধরণের ব্যবহারকারীর ইনপুট নিয়ে কাজ করতে চান তখন একটি হ'ল দরকারী বর্গ।

IME_ACTION_DONE: এই ক্রিয়াটি ইনপুট না করার জন্য "সম্পন্ন" অপারেশন করে এবং আইএমই বন্ধ হয়ে যাবে।

 EditTextSample.setImeOptions(EditorInfo.IME_ACTION_DONE);

আরও তথ্যের জন্য আপনি http://developer.android.com/references/android/view/inputmethod/EditorInfo.html দেখতে পারেন



0
editText.setLines(1);
editText.setSingleLine(true);
editText.setImeOptions(EditorInfo.IME_ACTION_GO);

আমি সমস্যার সমাধানটি একক লাইনের সাথে নিশ্চিত করে এন্টার এ ক্লিক করার পরে পরবর্তী সম্পাদনা পাঠ্যে যাই


0

আমার ক্ষেত্রে, একটি imeOptions সেট করুন সমস্যাটি ঠিক করুন।

edtAnswer.maxLines = 1
edtAnswer.inputType = InputType.TYPE_CLASS_TEXT
edtAnswer.imeOptions = EditorInfo.IME_ACTION_NEXT

0

আপনি এই দ্বারা এটি করতে পারেন

edittext.imeOptions = EditorInfo.IME_ACTION_DONE //for done button

বা

edittext.imeOptions = EditorInfo.IME_ACTION_NEXT //for next button

তবে ... আপনার বুঝতে হবে যে আপনি যদি সম্পাদনা পাঠ্যের জন্য ফিল্টার ব্যবহার করছেন তবে আপনার সেট করা দরকার

edittext.setSingleLine()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.