首页 > 解决方案 > 如何在多个活动和我的回收器适配器中使用方法

问题描述

我正在使用 Java 和 Android Studio 制作一个 Android 计时器应用程序。我有以下简单的时间转换器方法,它将毫秒转换为秒,然后将秒格式化为 ss:mm,用于两个不同的活动:

private String convertTime(long time) {
        int mins = (int) (time / 1000) / 60;
        int secs = (int) (time / 1000) % 60;
        return String.format(Locale.getDefault(), "%02d:%02d", mins, secs);
    }

我的回收器适配器中也有一个非常相似的方法,但它不会转换为秒:

private String convertTime(long time) {
        int mins = (int) time / 60;
        int secs = (int) time % 60;
        return  String.format(Locale.getDefault(), "%02d:%02d", mins, secs);
    }

哪种是实现此方法的最佳方法,因此重用代码最少?我最初创建了一个接口并在需要的地方实现了该方法,但我认为这不是最好的方法。谢谢。

标签: javaandroidandroid-studio

解决方案


像这样添加TimeUtils.java类:

public class TimeUtils
{
    public static String convertTime1(long time)
    {
        int mins = (int) (time / 1000) / 60;
        int secs = (int) (time / 1000) % 60;
        return String.format(Locale.getDefault(), "%02d:%02d", mins, secs);
    }

    public static String convertTime2(long time)
    {
        int mins = (int) time / 60;
        int secs = (int) time % 60;
        return String.format(Locale.getDefault(), "%02d:%02d", mins, secs);
    }
}

然后,TimeUtils.convertTime1(1000)例如,在任何地方使用这些功能。


推荐阅读