我正在做一个基于文本文件中的字符进行自定义振动的应用程序,但是我遇到了通过方法传递自定义振动的问题
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 []不接受它..
答案 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);
}