Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Spannable - цветной текст - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Приложение по публикации фото http://www.cyberforum.ru/android-dev/thread1734354.html
Здравствуйте, я, пока что, не программист на андроид. Однако мы создаем сайт, на котором пользователи будут публиковать фото. Для этого хотим сделать приложение, которое может делать только одну...
Программирование Android Запись массива в TextView Есть двумерный массив: int a в нём записаны "0" и "1" Я хочу вывести его на экран, но выводится только один "0". ... TextView table; ... String aa = ""; aa+=(a + "\n"); http://www.cyberforum.ru/android-dev/thread1734236.html
Читаются ли контакты с Viber Программирование Android
Есть контент провайдер content://com.viber.provider.vibercontacts но ясно без пермишена не работает, есть ли пермишен в интернете или они "защищают )" данные пользователя и доступа к контактам нет?
Программирование Android Открытие apk в андроид студио
Каким способом можно открыть apk в программе? просто надо проверить антивирус, а он засекает только тест файл apk при его запуске.
Программирование Android Ошибка с использованием нескольких Activity http://www.cyberforum.ru/android-dev/thread1734160.html
Здравствуйте, недавно только начал программировать на android и столкнулся с такой проблемой - вроде-бы делаю все по официальному гайду, но код не работает. Главный активити: public class...
Программирование Android Создание app-release.apk для публикации в маркете В общем, все сделал по документации. Android Studio сообщает о том, что apk был успешно собран и предлагает мне перейти в соответствующую папку. Я перехожу туда, а там нет подписанного apk файла. Там... подробнее

Показать сообщение отдельно
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
31.05.2016, 22:06  [ТС]
Паблито, выручайте, я примерно добавил два слова, знаете каким методом? Методом - повтора вашего кода...
Вы бы не могли помочь с стабилизацией?
Код
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.mycompany.pas;
 
import android.content.*;
import android.text.*;
import android.text.style.*;
import android.util.*;
import android.widget.*;
import java.util.*;
 
public class CustomEditText extends EditText {
 
    private final ArrayList<Integer> posList = new ArrayList<>();
    private final ArrayList<Integer> posList1 = new ArrayList<>();
    private String[] highlightText = new String[100];
    private int color;
    
 
    public CustomEditText(Context context) {
        super(context);
        init();
    }
 
    public CustomEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }
 
    private void init() {
        addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }
 
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }
 
                @Override
                public void afterTextChanged(Editable s) {
                    posList.clear();
                    if (s.length() > 0 && !TextUtils.isEmpty(highlightText[0])) {
                        findOccurrences();
                    }
                    if (s.length() > 0 && !TextUtils.isEmpty(highlightText[1])) {
                        findOccurrences();
                    }
                    if (!posList.isEmpty()) highlight(s);
                    if (!posList1.isEmpty()) highlight(s);
                }
            });
    }
 
    private void findOccurrences() {
        String text = getText().toString();
        int index = text.indexOf(highlightText[0]);
        int index2 = text.indexOf(highlightText[1]);
        while (index >= 0) {
            posList.add(index);
            index = text.indexOf(highlightText[0], index + 1);
        }
        while (index2 >= 0) {
            posList1.add(index2);
            index2 = text.indexOf(highlightText[1], index2 + 1);
        }
    }
 
    private void highlight(Spannable where) {
        for (Integer pos : posList) {
            if(highlightText[0]=="begin"){
            int spanStart = pos;
            int spanEnd = spanStart + highlightText[0].length();
            where.setSpan(new ForegroundColorSpan(color), spanStart, spanEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
        }
        for (Integer pos : posList1) {
            if(highlightText[1]=="end."){
                int spanStart = pos;
                int spanEnd = spanStart + highlightText[1].length();
                where.setSpan(new ForegroundColorSpan(color), spanStart, spanEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
        }
    }
   
    
    public void setHighlightText(String highlightText, int color) {
        this.highlightText[0] = "begin";
        this.highlightText[1] = "end.";
        this.color = color;
    }
}


Добавлено через 14 минут
Паблито, нет, стойте, не нужно, я разберусь, слишком много помощи, я все почитаю о данных методах, я добавлю сам, спасибо за помощь, еще увидимся.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru