ScrollView和ListView这两个控件想必大家都不会陌生,但是这两者嵌套使用的时候就会出现麻烦。比如,我们如果想在ListView下面添加其他的布局或者控件,然后想让它们作为一个整体都可以滑动的话,最常想到的就是用一个ScrollView把它们包裹起来。想法似乎很美好,但是现实就有点残酷了。我们可以写一个小例子体验一下。
首先创建一个Activity,在它的布局文件上放置一个ListView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.lin.mr.mystudy.scrollview.TestActivity">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
然后在代码中使用for循环生成一些数据,并使用ArrayAdapter适配数据。这里允许我偷一下懒,ListView的item布局直接使用Android提供的R.layout.simple_list_item_1,而没有自己去自定义。
public class TestActivity extends Activity {
private ListView listView;
private ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
listView = (ListView) findViewById(R.id.listView);
findViewById(R.id.ll_container);
list =