جلسه ۶ editText
جلسه ۶
می خوایم درباره editText حرف بزنیم تو main activity xml
این دوست ما input typeهای مختلفی داره
مثلا textmultiline هر چی بنویسی خودش میاد پایین طولانی تر میشه
ولی چیز دیگه ای بذاری مثلا به همون اندازه می مونه چیزایی که قدیمی تره نامرئی میشه میره زیر
توی editText مثلا میخوای خیلی نتونه بنویسه کل صفحه رو بگیره از خط ۶ به بعد خط های قدیمی رو محو کنه می نویسی
android:inputType="textMultiLine" android:lines="5"
یا میخوای فقط چن تا کاراکتر بتونه بگیره
android:maxLength="5" android:hint="First Name" android:textColor="#E91E63" android:textColorHint="#03A9F4" android:gravity="center" android:textDirection="rtl"
فراخوندنش تو جاوا مین اکتیویتی
اون جایی که کلاسا رو تعریف کردی باتن و اینا رو:
EditText hello;
توی OnCreate:
tv.setText(“Dear ”hello.getText().toString() .trim());
این trim اسپیس ها رو می ریزه دور
حالا این hello خودش کلی متد داره
توی همون onCreate که هستی (نه بیرونه بیرون) می نویسی
hello.onFocusChangelistener()
میری توش می نویسی new بعد می زنی کنترل اسپیس (من که نزدم!)و تبدیل می کنی به همچی چیزی
hello.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { Toast.makeText(MainActivity.this, "foc changes", Toast.LENGTH_SHORT).show(); } });
این هر وقت بیای توش یا از روش بری بیرون میگه فوکوس عوض شد اگه بخوای یه دستوری رو فقط وقتی میاد توش اجرا کنی می زنی if(hasFocus) این بولین فقط وقتی میاد توش true هست
متد دیگه ش : واکنش به هر تغییری
hello.addTextChangedListener(new TextWatcher() {