Android TextView XML属性来格式化输入文本
我正在通过SimpleCursorAdapter使用TextView作为行填充列表视图。TextView中的数字显示为8或2.6786等。我希望它们显示为8.00或2.67等。可以通过XML(如输入类型方法等)完成。请建议解决方法。代码为:Android TextView XML属性来格式化输入文本,android,Android,我正在通过SimpleCursorAdapter使用TextView作为行填充列表视图。TextView中的数字显示为8或2.6786等。我希望它们显示为8.00或2.67等。可以通过XML(如输入类型方法等)完成。请建议解决方法。代码为: // THE DESIRED COLUMNS TO BE BOUND columns = new String[] { slStock.KEY_SCRIPT, getColumnName(2),c.getColumnName(3)}; // THE 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中。问题是如何为id为(R.id.tvstockrate)且由c.getColumnNames(3)填充的TextView格式化游标数据。在代码中的哪一点可以插入format语句。我不认为可以通过XML对数字进行格式化,但以下内容可以将格式设置为小数点后2位:
DecimalFormat numbers = new DecimalFormat("#.##");
您应该能够根据应用程序的需要对此进行调整。您不能从xml中对值进行取整,因此您必须在游标中获取值并将其转换为double后以编程方式进行操作,然后使用下面的代码 尝试如下:
double roundTwoDecimals(double d)
{
DecimalFormat twoDForm = new DecimalFormat("#.##");
return Double.valueOf(twoDForm.format(d));
}
您也可以使用
DecimalFormat df=新的DecimalFormat(“#.###”)