এই উদাহরণটি দেখায় কিভাবে আমি জানতে পারি যখন একটি EditText ফোকাস হারায়।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে প্রয়োজনীয় সমস্ত বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" android:id="@+id/parent" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:gravity="center" android:orientation="vertical"> <EditText android:id="@+id/editText" android:hint="Loosing focus example" android:layout_width="wrap_content" android:layout_height="wrap_content" > </EditText> <Button android:id="@+id/removeFocus" android:text="Remove Focus" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/gainFocus" android:text="Gain Focus" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
উপরের কোডে, আমরা একটি এডিট টেক্সট এবং দুটি বোতাম নিয়েছি। রিমুভ ফোকাস বোতাম এডিট টেক্সটের ফোকাস মুছে ফেলবে এবং অন্য বোতাম এডিট টেক্সট ফোকাস লাভ করবে।
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনpackage com.example.andy.myapplication; import android.os.Build; import android.os.Bundle; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { int view = R.layout.activity_main; EditText editText; Button removeFocus, gainFocus; @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(view); editText = findViewById(R.id.editText); removeFocus = findViewById(R.id.removeFocus); gainFocus = findViewById(R.id.gainFocus); gainFocus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { editText.setFocusableInTouchMode(true); editText.setFocusable(true); } }); removeFocus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { editText.setFocusableInTouchMode(false); editText.setFocusable(false); } }); editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { Toast.makeText(MainActivity.this, "focus loosed", Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this, "focused", Toast.LENGTH_LONG).show(); } } }); } }
উপরের বোতামে, আমরা নিচের মত ফোকাস সরিয়ে দিয়েছি -
editText.setFocusableInTouchMode(false); editText.setFocusable(false);
ফোকাস পেতে নিম্নলিখিত কোড ব্যবহার করুন -
editText.setFocusableInTouchMode(true); editText.setFocusable(true);
নীচে দেখানো হিসাবে সম্পাদনা পাঠে ফোকাসের স্থিতি খুঁজে পেতে -
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { Toast.makeText(MainActivity.this, "focus loosed", Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this, "focused", Toast.LENGTH_LONG).show(); } } });
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
উপরের ফলাফলে, আমরা রিমুভ ফোকাসে ক্লিক করেছি। এটি ফোকাস লুজ হিসাবে একটি বার্তা দেখাচ্ছে (কার্সার পরীক্ষা করুন)। এখন গেইন ফোকাসে ক্লিক করুন, এটি নীচে দেখানো হিসাবে ফোকাস অর্জন করবে -