2012-08-02 2 views
0

모든 요소를 ​​반복하여 Textview로 설정할 수 있어야합니다. 그러나, 또한 내 번호가 아래 첨자로 서식을 지정해야합니다. 루프를 사용하여 시도했지만 마지막 숫자 만 올바르게 형식이 지정되었습니다.스팬 된 텍스트 뷰 HTML 형식은 마지막 루프에만 적용됩니까?

예를 들어 Fe2Zn7Ag4를 입력하면 "4"만 첨자로 표시되고 나머지는 정상적으로 나타납니다. 또한

Spanned EF = Html.fromHtml(""); 
for(int g = 0; g < numSaved; g++) 
{ 
    EF = Html.fromHtml(EF + savedChem[g].getFormula()); 
    if(!(savedChem[g].getMoles().equals("1")) && !(savedChem[g].getMoles().equals("0"))) 
     EF = Html.fromHtml(EF + "<sub>" + savedChem[g].getMoles() + "</sub>"); 
} 
EmpiricalFormula.setText(findEmpirical()); 

, 첨자가 절반으로 아무것도 : 다음은 내 코드입니다. 프로그램을 실행하면 위 첨자의 절반 만 나타납니다.

이 두 가지 문제를 해결하는 방법에 대해 알고 싶습니다.

답변

1

내 대답을 찾았습니다. Html.fromHtml()은 이전의 Spanned 객체를 모든 루프로 변환하여 마지막으로 만 끝나도록합니다. 다음 코드로이 문제를 해결했습니다 :

Spanned[] E = new Spanned[numSaved]; 
for (int a = 0; a < numSaved; a++) 
{ 
    EF =(Spanned) TextUtils.concat(EF, E[a]); 
} 

"작은"태그를 추가하여 아래 첨자 문제를 해결했습니다.

<sub><small>" + savedChem[g].getMoles() + "</small></sub>