কিছু পরিস্থিতিতে, আমাদের কিছু অক্ষরের জন্য একটি সম্পাদনা পাঠ সীমাবদ্ধ করতে হবে। এই পরিস্থিতির সমাধান করার জন্য, এই উদাহরণে দেখান কিভাবে টেক্সট চেঞ্জড লিসনারের সম্পাদনায় অক্ষর গণনা করা যায়।
ধাপ 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:background = "#33FFFF00" android:orientation = "vertical"> <EditText android:id = "@+id/text" android:textSize = "18sp" android:layout_width = "match_parent" android:layout_height = "wrap_content" /> </LinearLayout>
উপরের কোডে, আমরা একটি সম্পাদনা পাঠ নিয়েছি। এটি প্রবেশ করা অক্ষরগুলির দৈর্ঘ্য পরীক্ষা করবে, যদি এটি 5 ছাড়িয়ে যায় তবে এটি একটি ত্রুটি বার্তা দেখায়৷
ধাপ 3 - নিম্নলিখিত কোডটি src/MainActivity.java
এ যোগ করুনpackage com.example.andy.myapplication; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.os.VibrationEffect; import android.os.Vibrator; import android.support.annotation.RequiresApi; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { int view = R.layout.activity_main; EditText text; @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(view); text = findViewById(R.id.text); text.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if(s.toString().length()>5) { text.setError("It allows only 5 character"); }else{ text.setError(null); } } }); } }
উপরের কোডে, আমরা পাঠ্য পরিবর্তিত শ্রোতা ব্যবহার করেছি, পরিবর্তিত পাঠ্যের পরে আমরা নীচের চিত্রের মতো পাঠ্যকে যাচাই করছি -
text.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if(s.toString().length()>5) { text.setError("It allows only 5 character"); }else{ text.setError(null); } } });
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপর আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
আপনি যখন 5টি অক্ষর লিখবেন, এটি কোনও ত্রুটি দেখায় না। আপনি যদি 5টির বেশি অক্ষর প্রবেশ করেন। এটি নীচে দেখানো হিসাবে একটি ত্রুটি দেখাবে -