На самом деле, этот вопрос extends
this one.Граф нажал кнопку количество
Я хочу, чтобы подсчитать количество моего нажатия кнопки из моих наушников.
if(action == KeyEvent.ACTION_DOWN)
{
Toast.makeText(context, "Pressed 1 time", Toast.LENGTH_SHORT).show();
}
if(action == KeyEvent.ACTION_MULTIPLE)
{
k = event.getRepeatCount();
if(k == 2)
Toast.makeText(context, "Pressed 2 times", Toast.LENGTH_SHORT).show();
if(k == 3)
Toast.makeText(context, "Pressed 3 times", Toast.LENGTH_SHORT).show();
if(k>=4)
{
String a = Integer.toString(k);
Toast.makeText(context, "Pressed " + a + " times.", Toast.LENGTH_SHORT).show();
}
}
Но когда я нажимаю кнопку, я получаю тост «Нажатый 1 раз». Я всегда получаю это, система никогда не вступает в другие if
s.
Как я могу это решить?
Благодаря
Сложение До сих пор не может решить эту проблему. Вот что я делаю:
if(action == KeyEvent.ACTION_DOWN)
{
k++;
try
{
wait(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
if(k == 1)
Toast.makeText(context, "Pressed 1 time", Toast.LENGTH_SHORT).show();
if(k == 2)
Toast.makeText(context, "Pressed 2 times", Toast.LENGTH_SHORT).show();
if(k == 3)
Toast.makeText(context, "Pressed 3 times", Toast.LENGTH_SHORT).show();
if(k>=4)
{
String a = Integer.toString(k);
Toast.makeText(context, "Pressed " + a + " times.", Toast.LENGTH_SHORT).show();
}
k = 0;
abortBroadcast();
Вы уверены, что многоканальные наушники генерируют «ACTION_MULTIPLE» KeyEvents? – Kheldar
Нет, я совсем не уверен. Надеюсь, он генерирует :) Я хочу управлять кнопкой. На данный момент нажатие кнопки выполняет функцию PLAY/STOP для проигрывателя, я хочу, чтобы она переходила к следующему треку, если я дважды нажимаю, или перейдите к предыдущему, если я втройне нажмите. Интересно, как я могу это сделать. – azizbekian
Вы можете достичь этого, используя простой счетчик и увеличив его в 'KeyEvent.ACTION_UP'. –