Androidでテキストの色を部分的に変更する方法

karthik kolanji

wow!のようにサーバーに投稿するメッセージを含む文があります素晴らしい写真#superb#pic#111#222写真を楽しんだ

を抽出しhastagsて色を付け、残りのテキストはそのままにしておきます。

次のコードを試しましたが、機能しませんでした。

private void spannableOperationOnHastag() {
        mPostMessage = edPostMessage.getText().toString().trim();
        String strPreHash = null;
        String strHashText = "";
        if (mPostMessage.contains("#")) {
            try {
                int index = mPostMessage.indexOf("#");
                strPreHash = mPostMessage.substring(0, index);
                SpannableString spannableString = new SpannableString(strPreHash);


                String strHashDummy=mPostMessage.substring(index, mPostMessage.length());
                int hashCount= StringUtils.countMatches(strHashDummy, "#"); // check for number of "#" occurrence and run forloop for getting the number of hastags in the string
                int hasIndex=0;
                for (int i = 0; i <hashCount ; i++) {
                    strHashText = strHashText+strHashDummy.substring(hasIndex, strHashDummy.indexOf(' '))+" ";
                    hasIndex =strHashText.indexOf(" "); // updating new space(" ") position in the index variable
                }


                SpannableString spannableStringBlue = new SpannableString(strHashText);
                spannableStringBlue.setSpan(new ForegroundColorSpan(PublishPostActivity.this.getResources().getColor(R.color.blue)), 0, strHashText.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
                edPostMessage.setText(null); // clearing old string
                edPostMessage.append(spannableString); // setting extracted coloured text
                edPostMessage.append(spannableStringBlue);
            } catch (Exception e) {
                Log.d(TAG, "validatePostMessage() called with " + "e = [" + e + "]");
            }
        }
    }
karthik kolanji

私は自分で問題を解決しました。私は誰でもそれがこのコードを参照できる必要があります:)

private void spannableOperationOnHastag() throws Exception{
        mPostMessage = edPostMessage.getText().toString()+" "; // extra space for spannable operations
        List<Integer> listStartPos = new ArrayList<>();
        List<Integer> listEndtPos = new ArrayList<>();

        if (mPostMessage.contains("#")){
            for (int i = 0; i < mPostMessage.length(); i++) {
                if (mPostMessage.charAt(i) == '#') {
                    listStartPos.add(i);
                    Log.d(TAG, "startIndex of # = " + i);
                }
            }
            for (int i = 0; i < listStartPos.size(); i++) {
                int endIndex = mPostMessage.indexOf(' ', listStartPos.get(i));
                listEndtPos.add(endIndex);
                Log.d(TAG, "endIndex of # " + (endIndex));
            }
            SpannableString spanned = SpannableString.valueOf(mPostMessage);
            for (int i = 0; i < listStartPos.size(); i++) {
                spanned = new SpannableString(spanned);
                spanned.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue)), listStartPos.get(i), listEndtPos.get(i), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                Log.d(TAG, "substring " + mPostMessage.substring(listStartPos.get(i), listEndtPos.get(i) + 1));
            }
            mPostMessage.trim(); // removing extra space.
            edPostMessage.setText(null);
            edPostMessage.setText(spanned);

        }
    }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AndroidでlistViewテキストの色を変更する方法

分類Dev

Androidのボタンの色をテキストで変更する方法

分類Dev

Android背景画像に応じてテキストの色を変更する方法

分類Dev

テーマでAndroidボタンのテキストの色をグローバルに変更する方法

分類Dev

SwiftのCATextLayerでテキストの色を変更する方法

分類Dev

PHPで特定のテキストの色を変更する方法

分類Dev

iOSでUIPickerViewのテキストの色を白に変更する方法

分類Dev

JTextAreaでテキストの色を変更する方法は?

分類Dev

Kivy / KivyMDでMDRectangleFlatIconButtonテキストの色を変更する方法

分類Dev

Span内で、テキストの色を変更する方法

分類Dev

別の背景にあるテキストの部分の色を変更できますか?

分類Dev

AndroidでAppCompatLightDarkActionBarテーマの背景とテキストの色を変更する

分類Dev

境界線の色を変更せずにDivのテキストの色を変更する方法

分類Dev

スピナーでAndroidのテキストの色を変更する

分類Dev

ViewGroupの子のテキストの色を変更する方法

分類Dev

GitHubスクエアカレンダーAndroidで月のテキストの色を変更する方法

分類Dev

SearchViewのテキストの色を変更するXamarin.Android

分類Dev

(Android)strings.xmlのテキストの色を変更する

分類Dev

Androidで編集テキストのボトムラインの色を変更する方法は?

分類Dev

Android Studio でテキストの色と行のガターを変更する

分類Dev

PreferenceCategory / PreferenceScreenのテキストの色を変更する方法

分類Dev

JButtonのテキストの色を変更する方法

分類Dev

Ionic でテキストのフォントと色を変更する方法 - 2

分類Dev

ステータスバーのテキストの色をカスタム色に変更する方法

分類Dev

edittextテキストの色をAndroidに変更しますか?

分類Dev

EclipseでJavaDocビューのテキストの色を変更する方法

分類Dev

iOS5でUITabBarItemのテキストの色を変更する方法

分類Dev

Androidxで好みのテキストの色を変更する方法

分類Dev

pygameでテキストのセクションの色を変更する方法

Related 関連記事

  1. 1

    AndroidでlistViewテキストの色を変更する方法

  2. 2

    Androidのボタンの色をテキストで変更する方法

  3. 3

    Android背景画像に応じてテキストの色を変更する方法

  4. 4

    テーマでAndroidボタンのテキストの色をグローバルに変更する方法

  5. 5

    SwiftのCATextLayerでテキストの色を変更する方法

  6. 6

    PHPで特定のテキストの色を変更する方法

  7. 7

    iOSでUIPickerViewのテキストの色を白に変更する方法

  8. 8

    JTextAreaでテキストの色を変更する方法は?

  9. 9

    Kivy / KivyMDでMDRectangleFlatIconButtonテキストの色を変更する方法

  10. 10

    Span内で、テキストの色を変更する方法

  11. 11

    別の背景にあるテキストの部分の色を変更できますか?

  12. 12

    AndroidでAppCompatLightDarkActionBarテーマの背景とテキストの色を変更する

  13. 13

    境界線の色を変更せずにDivのテキストの色を変更する方法

  14. 14

    スピナーでAndroidのテキストの色を変更する

  15. 15

    ViewGroupの子のテキストの色を変更する方法

  16. 16

    GitHubスクエアカレンダーAndroidで月のテキストの色を変更する方法

  17. 17

    SearchViewのテキストの色を変更するXamarin.Android

  18. 18

    (Android)strings.xmlのテキストの色を変更する

  19. 19

    Androidで編集テキストのボトムラインの色を変更する方法は?

  20. 20

    Android Studio でテキストの色と行のガターを変更する

  21. 21

    PreferenceCategory / PreferenceScreenのテキストの色を変更する方法

  22. 22

    JButtonのテキストの色を変更する方法

  23. 23

    Ionic でテキストのフォントと色を変更する方法 - 2

  24. 24

    ステータスバーのテキストの色をカスタム色に変更する方法

  25. 25

    edittextテキストの色をAndroidに変更しますか?

  26. 26

    EclipseでJavaDocビューのテキストの色を変更する方法

  27. 27

    iOS5でUITabBarItemのテキストの色を変更する方法

  28. 28

    Androidxで好みのテキストの色を変更する方法

  29. 29

    pygameでテキストのセクションの色を変更する方法

ホットタグ

アーカイブ