2012-01-31 82 views
2

我在内有listview,但问题是scrollview正在滚动,但listview不滚动。我认为这是由于scrollViewandroid:listview里面的scrollView不起作用?

有人有工作解决方案张贴在这里作为参考?

+0

显示您的代码... – 2012-01-31 13:09:51

+0

您的ScrollView如何在第一个位置滚动? – 2013-04-12 12:44:48

+0

这不是一个好的做法,但是如果你尝试在运行时给listview以高度的可能性。见下面的链接: - http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview-without-it-collapsing/3495908#3495908 – duggu 2013-06-24 12:17:14

回答

4

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

7

通常,您不能将可滚动的东西放在其他可滚动的东西里面,它们在相同的方向滚动,并且结果是可靠的。偶尔会有效(例如,中的WebViews),但这是例外情况,不是标准。

或者:

  • 移动ListViewScrollView,或者

  • 移动的ScrollView内容其余全部为ListView,无论是使用像addHeaderView()或我MergeAdapter

    东西
5

ListView必须有固定的h在你的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%很好。