2013-10-14 2 views
1

SimpleCursorAdapter를 통해 TextView를 행으로 사용하여 ListView를 채 웁니다. TextView의 숫자가 8 또는 2.6786 등으로 표시됩니다. 8.00 또는 2.67 등으로 표시하려고합니다. XML을 통해 할 수 있습니까 (입력 유형 메소드 등). 제안하십시오. 코드는 다음과 같습니다 여기Android TextView 입력 텍스트의 서식을 지정하는 XML 속성

// THE DESIRED COLUMNS TO BE BOUND 
columns = new String[] { slStock.KEY_SCRIPT, getColumnName(2),c.getColumnName(3)}; 
// THE XML DEFINED VIEWS FOR EACH FIELD TO BE BOUND TO 
to = new int[] { R.id.tvstockscrpt, R.id.tvqty ,R.id.tvstockrate}; 
// CREATE ADAPTER WITH CURSOR POINTING TO DESIRED DATA 

SimpleCursorAdapter cursAdapter = new SimpleCursorAdapter(this,R.layout.rowstock, c,columns, to); 

lvstockdisplay.setAdapter(cursAdapter); 

이 커서 (C)가 (배경 데이터베이스 SQL 쿼리에서) 데이터를 가져와 나는 말에 대한 커서 데이터를 어떻게 포맷 할 수있다 ListView에 directly.The 질문에 채 웁니다 것을 알 수 id가 (R.id.tvstockrate)이고 c.getColumnNames (3)에 의해 채워지는 TextView. 형식 문을 삽입 할 수있는 코드를 가리 킵니다.

답변

0

난 당신이 XML을 통해 수치를 포맷 할 수 있다고 생각 해달라고하지만, 다음은 소수점 이하 2 자리까지의 형식을 작동합니다 : 응용 프로그램에서 필요에 따라

DecimalFormat numbers = new DecimalFormat("#.##"); 

당신이 적응 할 수 있어야한다.

0

xml에서 값을 반올림 할 수 없으므로 커서로 값을 가져 와서 프로그래밍 방식으로 처리해야하며 두 개로 가져 와서 아래 코드를 사용하십시오.

다음과 같이 해보세요 :

double roundTwoDecimals(double d) 
{ 
    DecimalFormat twoDForm = new DecimalFormat("#.##"); 
    return Double.valueOf(twoDForm.format(d)); 
} 
관련 문제