آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در تغییر رنگ ادیت تکست به صورت لحظه ای

126943  7 سال پیش  7 سال پیش
0 0

سلام

من میخوام رنگ متنی که با ادیت تکست تایپ میکنم تغییر کنه یعنی یه بخش تنظیمات دارم که رنگ رو تغییر میده و میخوام مثلا یه کم که با ابی نوشتم و بعد تغییر دادم بشه قرمز و ... . سرچ زیاد کردم منتها به مشکل برخوردم . از طریق تگ فونت و 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(" ", "&nbsp");
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);
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .