2011-06-22 58 views

回答

0

我同意,這不是一個數據庫的問題。如果這不是您正在開發的定製應用程序,那麼您的運氣不好。如果是,請將數據庫中的字段保存爲HTML。

0

該函數將字符串設置爲TextView的文本,並且只要跨度或跨度用標記[i]和[/ i]標記,就將該字符串中的一個或多個跨度設爲斜體。當然,它可以修改爲其他類型的樣式。

private void doItalicize(TextView xTextView, String xString) { 
     ArrayList<Integer> IndexStart = new ArrayList<>(); 
     ArrayList<Integer> IndexEnd = new ArrayList<>(); 
     ArrayList<StyleSpan> SpanArray = new ArrayList<>(); 

     int i = 0; 

     do { 
      IndexStart.add(i, xString.indexOf("[i]")); 
      IndexEnd.add(i, xString.indexOf("[/i]") - 3); 
      xString = xString.replaceFirst("\\[i\\]", ""); 
      xString = xString.replaceFirst("\\[/i\\]", ""); 
      xTextView.setText(xString, TextView.BufferType.SPANNABLE); 
      SpanArray.add(i, new StyleSpan(Typeface.ITALIC)); 
      Log.d(LOG_TAG, "i: " + i); 
      i++; 
     } while (xString.contains("[i]")); 

     Spannable xSpannable = (Spannable) xTextView.getText(); 

     for (int j = 0; j < i; j++) 
      xSpannable.setSpan(SpanArray.get(j), IndexStart.get(j), IndexEnd.get(j), Spanned 
        .SPAN_EXCLUSIVE_EXCLUSIVE); 
    } 
相關問題