0

I have a list view where i need to have continuous scroll if there is long press of up or down and want to have single navigation of list if there is short press of up or down key.I have tried using on key long press listener but every time when click the up or down button it enters the on key up listener or on key down listener.

    @Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub


    switch(keyCode)
    {
    case 23:
        Log.v("onkeylong_pressed","onkey_longpressed="+keyCode);
        return true;
    case 21:
        Log.v("onkeylong_pressed","onkey_longpressed="+keyCode);
        return true;
    case KeyEvent.KEYCODE_DPAD_DOWN:

        Log.v("onkeylong_pressed","onkey_longpressed="+keyCode);

        return true;
    }
    //return true;
    return super.onKeyLongPress(keyCode, event);
}


@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    scroll.setSmoothScrollingEnabled(false);
    WheelView wheelView = getWheel(R.id.category_wheel);
    int currentItemIndex = wheelView.getCurrentItem();



    switch (keyCode) {

    case KeyEvent.KEYCODE_DPAD_DOWN:

             wheelView.setCurrentItem(currentItemIndex + 1);

        return true;

    case KeyEvent.KEYCODE_DPAD_UP:

        if (currentItemIndex == 0) {
            currentItemIndex = itemsList.size() - 1;
        }
        scroll.setScrollX(0);
        wheelView.setCurrentItem(currentItemIndex - 1);

        Index_Right=0;x=150;


        return true;

    case KeyEvent.KEYCODE_DPAD_RIGHT:


        return true;
    case KeyEvent.KEYCODE_DPAD_LEFT:


        return true;
    }   



    return super.onKeyUp(keyCode, event);
}

   @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    switch(keyCode){
    case KeyEvent.KEYCODE_DPAD_DOWN:
        long_Press=true;

        event.startTracking();


        return true;
    }
    return super.onKeyDown(keyCode, event);

}

Can any one please help me out.Thanks in advance.

Nik
  • 111
  • 2
  • 8
  • Try this [LongPress vs KeyDown](http://stackoverflow.com/questions/12950215/onkeydown-and-onkeylongpress). Mark this as answer if this fix your issue. – Prakash M Mar 25 '14 at 12:37
  • I have tried this its not working in my case. – Nik Mar 25 '14 at 13:25
  • Are you Tried GestureDetector? Check this [answer](http://stackoverflow.com/questions/14877009/events-for-long-click-down-and-long-click-up-in-android) – Prakash M Mar 25 '14 at 13:35
  • I am using it in the android set top box where i use remote controls to operate. in that case does gestures work? – Nik Mar 25 '14 at 13:41

0 Answers0