यह उदाहरण दर्शाता है कि EditText के फोकस खोने का पता कैसे लगाया जाए।
EditText फोकस परिवर्तन का पता लगाने का उदाहरण
चरण 1 - नया प्रोजेक्ट बनाएं
Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और आवश्यक विवरण भरें।
चरण 2 - लेआउट XML में कोड जोड़ें
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="Losing focus example"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<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>
उपरोक्त कोड में, हमने एक EditText और दो बटन लिए हैं। "Remove Focus" बटन EditText का फोकस हटाता है और "Gain Focus" बटन फोकस वापस देता है।
चरण 3 - MainActivity.java में कोड जोड़ें
src/MainActivity.java में निम्नलिखित कोड जोड़ें:
package com.example.andy.myapplication;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button removeFocus, gainFocus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
removeFocus = findViewById(R.id.removeFocus);
gainFocus = findViewById(R.id.gainFocus);
gainFocus.setOnClickListener(v -> {
editText.setFocusableInTouchMode(true);
editText.setFocusable(true);
editText.requestFocus();
});
removeFocus.setOnClickListener(v -> {
editText.setFocusableInTouchMode(false);
editText.setFocusable(false);
});
editText.setOnFocusChangeListener((v, hasFocus) -> {
if (!hasFocus) {
Toast.makeText(MainActivity.this, "Focus lost", 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((v, hasFocus) -> {
if (!hasFocus) {
Toast.makeText(MainActivity.this, "Focus lost", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Focused", Toast.LENGTH_LONG).show();
}
});
ऐप चलाएं
अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें और ऐप चलाएं। "Remove Focus" पर क्लिक करने पर "Focus lost" संदेश दिखेगा, और "Gain Focus" पर क्लिक करने पर फोकस वापस आ जाएगा।