ওয়াচচার পদ্ধতিটি প্রতিটি অক্ষরের ইনপুটগুলিতে আগুন দেয়। সুতরাং, আমি ফোকাস চেঞ্জ পদ্ধতির ভিত্তিতে এই কোডটি তৈরি করেছি:
public static boolean comS(String s1,String s2){
if (s1.length()==s2.length()){
int l=s1.length();
for (int i=0;i<l;i++){
if (s1.charAt(i)!=s2.charAt(i))return false;
}
return true;
}
return false;
}
public void onChange(final EditText EdTe, final Runnable FRun){
class finalS{String s="";}
final finalS dat=new finalS();
EdTe.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {dat.s=""+EdTe.getText();}
else if (!comS(dat.s,""+EdTe.getText())){(new Handler()).post(FRun);}
}
});
}
এটি ব্যবহার করতে, কেবল এই জাতীয় কল করুন:
onChange(YourEditText, new Runnable(){public void run(){
// V V YOUR WORK HERE
}}
);
আপনি! Coms (dat.s, "+ + EdTe.getText ()) এর সাথে সমান ফাংশনটি প্রতিস্থাপন করে coms ফাংশনটিকে উপেক্ষা করতে পারেন। তবে সমান ফাংশন নিজেই কিছু সময় রান টাইমে সঠিকভাবে কাজ করে না।
অন চেঞ্জ শ্রোতা ব্যবহারকারীদের ফোকাস টাইপ করার সময় সম্পাদনা পাঠের পুরানো ডেটা মনে রাখবে এবং তারপরে ব্যবহারকারী ফোকাস হারাতে বা অন্য ইনপুটটিতে ঝাঁপিয়ে পড়লে নতুন ডেটার তুলনা করে। যদি পুরনো স্ট্রিংয়ের সাথে নতুন নতুন স্ট্রিং না তুলনা করা হয় তবে এটি কাজটিকে আগুন ধরিয়ে দেয়।
আপনার যদি কেবল 1 এডিটেক্সট থাকে তবে আপনার উইন্ডোজগুলির বাইরে Ul একটি আলটিমেট সিক্রেট ট্রান্সপারেন্ট মাইক্রো এডিটেক্সট তৈরি করে একটি ক্লিয়ারফোকাস ফাংশন তৈরি করতে হবে এবং এতে ফোকাসের অনুরোধ করতে হবে, তারপরে আমদানি পদ্ধতি পরিচালকের মাধ্যমে কীবোর্ডটি আড়াল করুন।