我正在做一个应用程序,以基于文本文件中的字符进行自定义振动,但是面临通过方法传递自定义振动的问题

private void classifier(char c)
{
    String s = null;

    if (c == 'L')
    {
        s = "{0, dot, long_gap, long_gap, short_gap, dot, medium_gap}";
    }
    vibratePattern(s);
}

private void vibratePattern(String s)
{
    Vibrator vibrator;
    vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    long[] pattern101 = s;
    vibrator.vibrate(pattern101, -1);
}


我要到达的地方是,当分类器方法检测到使用分类器方法传递的字符“ L”时,它将模式传递给vibratePattern方法以进行处理并进行振动

我知道我的代码是错误的,因为我在分类器方法中使用了字符串,而振动方法却花费了很长的时间[]

我尝试使用parseLong将字符串转换为long,但long []不接受它。

最佳答案

如果方法需要long[]作为参数,则给它一个long[]而不是String:

private void classifier(char c)
{
    long[] s = null;

    if (c == 'L')
    {
        s = new long[] {0, dot, long_gap, long_gap, short_gap, dot, medium_gap};
    }
    vibratePattern(s);
}

private void vibratePattern(long[] s)
{
    Vibrator vibrator;
    vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    vibrator.vibrate(s, -1);
}

10-08 14:10