ハードウェアキーによるScrollViewのスクロール

ListViewがScroll持ってるのだけれど
背景画像も一緒に動かしたくて
ScrollViewの上にListViewを置いてたんだけど
ハードキーの上、下ボタンを押した時に上手くスクロールしてくれなかったので自作
もっといい方法がありそう

※ポジションは画面サイズとListのサイズでかなり変わるので注意

@Override
	public boolean dispatchKeyEvent(KeyEvent e) {

		if (e.getAction() == KeyEvent.ACTION_DOWN) {

			ScrollView sc = (ScrollView) findViewById(R.id.scroll);
			
			if(listView.getSelectedItemPosition()==4||listView.getSelectedItemPosition()==8){
				if(e.getKeyCode()==20){
					sc.arrowScroll(ScrollView.FOCUS_DOWN);
				}else if(e.getKeyCode()==19){
					sc.arrowScroll(ScrollView.FOCUS_UP);
				}
			}

		}

		return super.dispatchKeyEvent(e);
	}