将字符串设置为long []以进行振动功能

时间:2011-02-28 14:49:37

标签: java android

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

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方法以处理并继续振动

我知道我的代码在这里是错误的,因为我在分类器方法中使用了一个字符串,而vibrate方法需要一个很长的[]

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

1 个答案:

答案 0 :(得分:2)

如果方法需要long[]作为参数,请为其指定long[],而不是字符串:

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);
}