Format ValueAmimator setText 带十进制格式 Android JAVA

问题描述 投票:0回答:2

我有一个动画 setText 显示。我从 JSON 响应中获取字符串值并使用 valueAnimator 显示它。

我需要将最终的setText格式化为1000s格式(#,###)

例如

目前我得到:50125

预计:50,125

                   DecimalFormat decim = new DecimalFormat("#,###");
                    //Total no animate
                    ValueAnimator animator = new ValueAnimator();
                    animator.setObjectValues(0, Integer.parseInt(total_no));
                    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                        public void onAnimationUpdate(ValueAnimator animation) {
                            tvtotal_no.setText(String.valueOf(animation.getAnimatedValue()));
                          //tvtotal_no.setText(decim.format(Integer.parseInt(total_cases)));
                        }
                    });
                    animator.setDuration(500);
                    animator.start();
java android decimalformat animator
2个回答
0
投票

您需要实际使用 DecimalFormat:

DecimalFormat decim = new DecimalFormat("#,###");
//Total no animate
ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0, Integer.parseInt(total_no));
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    public void onAnimationUpdate(ValueAnimator animation) {
          tvtotal_no.setText(decim.format(animation.getAnimatedValue()));
    }
});
animator.setDuration(500);
animator.start();

0
投票

我真的不知道问题代码和第一个答案代码有什么区别。

© www.soinside.com 2019 - 2024. All rights reserved.