android:listview里面的scrollView不起作用?

时间:2012-01-31 13:07:45

标签: android listview scrollview

我在listview内有scrollview,但问题是scrollview正在滚动但listview没有滚动。我认为这是由于scrollView

有工作解决方案的人可以在此作为参考发布吗?

3 个答案:

答案 0 :(得分:7)

通常,您不能将可滚动的东西放在其他可滚动的东西中,它们以相同的方向滚动,并且结果是可靠的。偶尔这会起作用(例如WebViews中的ViewPager),但这是例外,而不是常态。

或者:

  • ListView移出ScrollView

  • ScrollView的所有其余内容移至ListView,无论是使用addHeaderView()还是我的MergeAdapter

答案 1 :(得分:5)

ListView必须在XML文件中具有固定高度,如下所示

        <ListView android:id="@+id/lv"
            android:listSelector="#0f0"            
            android:layout_width="fill_parent"
            android:layout_height="500px" />

在Java文件中,在 setContentView()

之后写下面的代码
        lv = (ListView)findViewById(R.id.lv);
        lv.setAdapter(your adapter here);  // you have to add your adapter here             

        lv.setOnTouchListener(new ListView.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_MOVE)
                {
                    lv.scrollBy(0, 1);
                }
                return false;
            }
        });

对代码进行这些更改并对其进行测试。经过太多实验,我写了这段代码。它工作正常100%。

答案 2 :(得分:5)

如果将ListView /任何可滚动视图放在scrollView中,它将无法正常工作,因为当您触摸屏幕时,触摸的主要焦点位于父视图(scrollView)而不是子视图(ListView)。