কোন পরিস্থিতিতে আমার afterTextChanged
পরিবর্তে onTextChanged
এবং বিপরীতে ব্যবহার করা উচিত ?
কোন পরিস্থিতিতে আমার afterTextChanged
পরিবর্তে onTextChanged
এবং বিপরীতে ব্যবহার করা উচিত ?
উত্তর:
এই ইভেন্টগুলি নিম্নলিখিত ক্রমে ডাকা হয়:
এর আগেটেক্সট চেঞ্জড (চারসেক্সেন্স, ইন স্টার্ট, ইনট কাউন্ট, ইনট পরে) ।
এর অর্থ হ'ল অক্ষরগুলি কিছু নতুন পাঠ্যের সাথে প্রতিস্থাপন করতে চলেছে। পাঠ্যটি অখাদ্য।
ব্যবহার করুন: যখন আপনাকে পুরানো পাঠ্যটি পরিবর্তন করতে চলেছে সেদিকে একবার নজর দেওয়া দরকার।
onTextChanged (CharSequence s, int start, int পূর্বে, int গণনা) ।
পরিবর্তনগুলি করা হয়েছে, কিছু অক্ষর সবেমাত্র প্রতিস্থাপন করা হয়েছে। পাঠ্যটি অখাদ্য।
ব্যবহার করুন: যখন আপনাকে পাঠ্যের কোন অক্ষরগুলি নতুন দেখা দরকার।
afterTextChanged (সম্পাদনযোগ্য) ।
উপরে হিসাবে একই, এখন ছাড়া টেক্সট সম্পাদনাযোগ্য ।
ব্যবহার করুন: যখন আপনাকে নতুন পাঠ্যটি দেখতে এবং সম্ভবত সম্পাদনা করতে হবে।
আমি যদি কেবল পরিবর্তনের জন্য শুনছি তবে আমার EditText
প্রথম দুটি পদ্ধতি ব্যবহার করার দরকার নেই। আমি কেবল তৃতীয় পদ্ধতিতে নতুন মানগুলি গ্রহণ করব এবং প্রয়োজনে নতুন পাঠ্য সংশোধন করব। যাইহোক, যদি মানগুলির ক্ষেত্রে ঘটে যায় এমন সঠিক পরিবর্তনগুলি যদি আমাকে খুঁজে বের করতে হয় তবে আমি প্রথম দুটি পদ্ধতি ব্যবহার করব। পরিবর্তনগুলি শোনার পরে যদি আমারও পাঠ্য সম্পাদনা করার প্রয়োজন হয় তবে আমি এটি তৃতীয় পদ্ধতিতে করব।
টেক্সট চ্যাঞ্জড (সম্পাদনাযোগ্য) এর পরে সর্বজনীন শূন্য
এই পদ্ধতিটি আপনাকে অবহিত করার জন্য ডেকে আনা হয়েছে যে কোথাও কোথাও
s
, পাঠ্য পরিবর্তন করা হয়েছে।s
এই কলব্যাক থেকে আরও পরিবর্তন করা বৈধ , তবে নিজেকে অসীম লুপে না নেওয়ার বিষয়ে সাবধানতা অবলম্বন করুন, কারণ আপনার যে কোনও পরিবর্তন এই পদ্ধতিটিকে পুনরাবৃত্তভাবে পুনরায় ডেকে আনবে। (আপনি বলা হয় না যেখানে পরিবর্তন সংঘটিত কারণ অন্যান্য afterTextChanged () পদ্ধতি ইতিমধ্যে অন্যান্য পরিবর্তন করেছেন পারে এবং অফসেট invalidated। কিন্তু যদি এখানে জানা প্রয়োজন, আপনি ব্যবহার করতে পারেনsetSpan(Object, int, int, int)
মধ্যেonTextChanged(CharSequence, int, int, int)
আপনার জায়গায় চিহ্নিত করতে এবং তারপর এখানে কোথা থেকে খোঁজা স্প্যান শেষ।
টেক্সটচেন্জেডের আগে সর্বজনীন শূন্য
এই পদ্ধতিটি আপনাকে অবহিত করতে বলা হয় যে এর মধ্যে শুরু হওয়া অক্ষরগুলি দৈর্ঘ্যের সাথে নতুন পাঠ্য দ্বারা প্রতিস্থাপন করতে
s
চলেছে । এই কলব্যাক থেকে পরিবর্তন করার চেষ্টা করা ত্রুটি ।count
start
after
s
টেক্সটচেনজড পাবলিক শূন্য
এই পদ্ধতি আপনাকে জানানোর জন্য যে বলা হয়, মধ্যে
s
,count
এ প্রারম্ভে অক্ষরstart
মাত্র পুরানো পাঠ্য যে দৈর্ঘ্য ছিল প্রতিস্থাপিত হয়েছেbefore
।s
এই কলব্যাক থেকে পরিবর্তন করার চেষ্টা করা ত্রুটি ।
সেখান থেকে TextWatcher জন্য Android এর রেফারেন্স ।
Android Textwatcher
একটি ধরণের ট্রিগার যা ইনপুট ক্ষেত্রের পাঠ্য পরিবর্তনে ডাকা হয়।
afterTextChanged (Editable s)
- পাঠ্য পরিবর্তন করার পরে এই পদ্ধতিটি বলা হয়। কারণ আপনার যে কোনও পরিবর্তনগুলি এই পদ্ধতিটিকে পুনরাবৃত্তভাবে পুনরায় ডেকে আনে, তাই আপনাকে এখানে অপারেশনগুলি করা সম্পর্কে সজাগ থাকতে হবে, অন্যথায় এটি অসীম লুপের দিকে পরিচালিত করতে পারে ।
onTextChanged (CharSequence s, int start, int before, int count)
- এই পদ্ধতিটি আপনাকে অবহিত করার জন্য ডেকে আনা হয়েছে যে, এর মধ্যে, শুরুতে গণনা অক্ষরগুলি সবেমাত্র পুরাতন পাঠ্যকে প্রতিস্থাপন করেছে যার পূর্বে দৈর্ঘ্য ছিল। এই কলব্যাক থেকে পরিবর্তন করার চেষ্টা করার জন্য এটি একটি ত্রুটি।