کلیدستان

نسخه‌ی کامل: ابجاد واکنش نسبت به متن درون EditText (در برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان
من یک ادیت تکست دارم که می خوام وقتی در اون اطلاعات وارد میشه نسبت به اطلاعات وارد شه واکنش نشون بده.
مثلا اگر عدد 1 رو وارد کرد رنگ متنش آبی بشه و وقتی عدد 2 رو وراد کرد رنگش قرمز بشه.
می دونم چجوری متنش رو بگیرم ها ولی نمی دنم چجوری این حساسیت رو ایجاد کنم.
برای ایجاد واکنش نسبت به تغییرات در ادریت تکست میتونید از این کد اسفاده کنید استفاده کنید :

کد پی‌اچ‌پی:
EditText  et = (EditTextfindViewById(R.id.search_et) ;
        
et.addTextChangedListener(new TextWatcher() {

            @
Override
            
public void onTextChanged(CharSequence arg0int arg1int arg2int arg3) {
                
// TODO Auto-generated method stub

            
}

            @
Override
            
public void beforeTextChanged(CharSequence arg0int arg1int arg2,
                                          
int arg3) {
                
// TODO Auto-generated method stub

            
}
            @
Override
            
public void afterTextChanged(Editable arg0) {
                
// TODO Auto-generated method stub
                // کد مورد نظر
            
}
        }); 

 و با گذاشتن دستوری داخل اون به این صورت :

کد پی‌اچ‌پی:
if (et.getText().toString().equals("1")){
                    
//رنگ مورد نظر  که با وارد شدن عدد یک ست می شود 
                


برای ست کردن رنگ متن هم میتونی از این کد استفاده کنی

:
کد پی‌اچ‌پی:
et.setTextColor(Color.BLUE); 

موفق باشید
ازین کد استفاده کردم و ممنون

اما

کد:
et.getText().toString().equals("1")

این کد مقدار معینی رو می گیره و می شه روش کاری انجام داد،
ولی اگر من بخوام بگم 4 رقم آخر رو بگیر و مثلا Bold یا تغیر رنگ بده از چه راهی باید استفاده کنم؟؟؟ حالا ممکنه عدد 10 رقمی باشه یا 5 رقمی (بدون تعداد معین)
 
(۱۳۹۳/۱۱/۲۰, ۰۱:۳۱ ب.ظ)'hvm' نوشته: [ -> ]ولی اگر من بخوام بگم 4 رقم آخر رو بگیر و مثلا Bold یا تغیر رنگ بده از چه راهی باید استفاده کنم؟؟؟ حالا ممکنه عدد 10 رقمی باشه یا 5 رقمی (بدون تعداد معین)

 


ابتدا متن (یا عدد) وارد شده در EditText را دریافت کرده و در یک رشته (String) ذخیره نمایید.
سپس طول رشته را محاسبه کنید (شاید تعداد کاراکتر وارد شده را ندانیم) :

کلید شماره 350

بعد حالا بر حسب موردی که مد نظرتان است، باید تعدادی از کاراکترها را از انتها یا ابتدای رشته حذف کنیم. برای این منظور، دو کلید زیر را ببینید :

کلید شماره 2985

کلید شماره 2984

بنابراین تنها آن بخشی از رشته باقی می ماند که قصد دارید بر اساس آن، منطق مورد نظر خود را اجرا نمایید.