0

EditTextでスパンテキストを追加する前にテキストが追加された場合、スパン位置を自動的に変更する方法は?

editable.setSpan(new StyleSpan(Typeface.BOLD), start, start+replacement.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

のEditTextがテキストの特定の位置にスタイルスパンを追加するアプリケーションを作成しています私の問題は、それを回避する方法は、ユーザーが追加した場合、スパンテキストスタイルの前にいくつかのテキストまたは空白が削除されるということですか?

int SPAN_COMPOSING = 256; 
    int SPAN_EXCLUSIVE_EXCLUSIVE = 33; 
    int SPAN_EXCLUSIVE_INCLUSIVE = 34; 
    int SPAN_INCLUSIVE_EXCLUSIVE = 17; 
    int SPAN_INCLUSIVE_INCLUSIVE = 18; 
    int SPAN_INTERMEDIATE = 512; 
    int SPAN_MARK_MARK = 17; 
    int SPAN_MARK_POINT = 18; 
    int SPAN_PARAGRAPH = 51; 
    int SPAN_POINT_MARK = 33; 
    int SPAN_POINT_MARK_MASK = 51; 
    int SPAN_POINT_POINT = 34; 
    int SPAN_PRIORITY = 16711680; 
    int SPAN_PRIORITY_SHIFT = 16; 
    int SPAN_USER = -16777216; 
    int SPAN_USER_SHIFT = 24; 

私の場合、どのタイプを使用する必要がありますか?

+0

TextWatcherを使用してください。テキストが変更されるたびにコールバックを取得します。そこにsetSpanを使用してください。 – Imdad

+0

あなたは私の質問をもう一度読むことができますか? –

答えて

-1

次のようなコードを使用できます。

editable.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) { 
       // here is your code to change position 
      } 

      @Override 
      public void afterTextChanged(Editable s) { 

      } 

     }); 
+0

私の質問をもう一度読むことができますか? –

+0

あなたはそれを詳しく教えてもらえますか、可能であれば、私のイメージの後で私を送ってください。 –

関連する問題