2017-03-13 2 views
1

단어를 표시하는 방법내가 거기에 대규모 HTML을 가지고 내 자산 폴더 안에 .txt 파일 ...</p> <p>내가 JSoup 라이브러리를 사용하여 일부 HTML 태그를 제거, 문자열로 호출하고 설정을 텍스트 뷰

그것은 정말 큰 아름다운 서식이 HTML 코드는 사용자가 텍스트 뷰의 모든 말씀을 드리면

을 보여주는 텍스트 뷰 결과

InputStream is; 
TextView tv = (TextView)findViewById(R.id.tv); 
String html; 

try { 
    is = getAssets().open("html.txt"); 
    html = convertStreamToString(is); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

Document doc = Jsoup.parse(html); 

Elements links = doc.select("a[href]"); 
for (Element link : links) { 
    doc.select("a").unwrap(); 
} 

doc.select("title").remove(); 

tv.setText(fromHtml(html)); 

, 나는 단어의 배경 색상을 변경하려면 : 텍스트 뷰의 텍스트로 문자열 , 그것을 표시하고, 사용자 resta 때 다시 표시하도록 그 마크를 저장 응용 프로그램 ... 어떻게 그걸 얻을 수 있습니까?

편집 : 또한

가 어떻게 함께 SpannableHtml.fromHtml() 작업을 수 있을까?

답변

0
  1. 이 게시물은 당신의 단어 색인을 얻을 수 있도록 도와줍니다. OnClick Position in String in TextView. 단어의 시작 색인을 저장하십시오.

  2. 색인에서 단어 끝까지 spannablestring을 사용하여 단어를 강조 표시하십시오. How to search for a word in a string and highlight word in a text view in android?

  3. 텍스트를 다시로드 할 때 단어의 저장된 색인에 대해 동일한 작업을 수행 할 수 있습니다.

+0

이 예제를 사용하여 문자열을 TextView 텍스트로 설정하기 전에'Spannable.setSpan()'을 사용해야합니다. 맞습니까? 그러나'setSpan()'에 대해서, 나는 이미 클릭 된 단어의 색인을 알아야만한다. 그렇지 않습니까? 어떻게 문자열을 만든 다음 문자열의 모든 단어에 setSpan()을 사용합니까? –