بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در تغییر رنگ ادیت تکست به صورت لحظه ای
سلام
من میخوام رنگ متنی که با ادیت تکست تایپ میکنم تغییر کنه یعنی یه بخش تنظیمات دارم که رنگ رو تغییر میده و میخوام مثلا یه کم که با ابی نوشتم و بعد تغییر دادم بشه قرمز و ... . سرچ زیاد کردم منتها به مشکل برخوردم . از طریق تگ فونت و html.from کد به صورت لحظه ای تغییرات رو میگیرم و اعمال میکنم.
منتها تو اندروید 6 به بالا بعد از 40 کاراکتر ، جمع کاراکتر ادیت تکست صفر میشه .یعنی ادیت تکست خالی میشه. برای اندروید 6 به پایین مشکل نداره.
باید چیکار کنم
باتشکر.
tt = new TextWatcher() {
public void afterTextChanged(Editable s){
edit2.setSelection(s.length());
}
public void beforeTextChanged(CharSequence s,int start,int count, int after){}
public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
edit2.removeTextChangedListener(tt);
int num = charSequence.toString().length();
Log.e("test1235",num+"");
@SuppressLint("ResourceType") String colors = getResources().getString( sp_settings.getInt("color",R.color.color2)).substring(3);
int size = sp_settings.getInt("size",19);
// Toast.makeText(getApplicationContext(),size+"",Toast.LENGTH_LONG).show();
if(num>num_character){
num_character = num;
lastcharacter = charSequence.toString();
lastcharacter = lastcharacter.substring(lastcharacter.length()-1).replace("\n", "<br>").replace(" ", " ");
html_lastcharacter = "<font size=30 color='#" + colors + "'>" + lastcharacter + "</font>";//آخرین کاراکتر رو رنگ مورد می کند
Log.e("test1236",html_lastcharacter+"");
all_text = all_text + html_lastcharacter;
}else {
if(num==0){
num_character = 0;
}
num_character = num;
int sum =all_text.length();
int sub = html_lastcharacter.length();
Log.e("test1237",sum+"");
Log.e("test1238",sub+"");
all_text = all_text.substring(0,sum-sub);
}
edit2.setText(Html.fromHtml(all_text));
edit2.addTextChangedListener(tt);
}
};
edit2.addTextChangedListener(tt);
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .