Android水平scrollView中的ListView垂直滚动

ham*_*ish 6 android android-layout

我有一个listView的自定义ArrayAdapter,它位于水平scrollView内.水平滚动工作正常,但对于垂直滚动,我不得不做一些黑客攻击.我只是想知道它是否是一个好主意,因为listView已经针对垂直滚动进行了优化.有没有办法滚动没有这个黑客?

黑客主要是为scrollView(父类)捕获touchEvent并将touchEvent传播到ListView.

scrolLView.setOnTouchListener(new OnTouchListener(){

        @Override
    public boolean onTouch(View arg0, MotionEvent arg1) {
            lv.setSmoothScrollbarEnabled(true);
            lv.dispatchTouchEvent(arg1);
        }
});
Run Code Online (Sandbox Code Playgroud)

这会导致滚动发生并且事情有效.我只是想知道是否还有一些我需要考虑的事情.

谢谢

Moh*_*rma 3

您的水平滚动视图位于父类中,因此触摸事件将仅被滚动视图识别,而不会被列表视图识别。因此,如果您希望列表视图滚动,那么您的做法是正确的。