在单个活动上允许滚动多个ListView,可以通过以下步骤实现:
以下是一个示例代码,演示如何在单个活动上滚动多个ListView:
// activity_main.xml
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="200dp" />
<ListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_height="300dp" />
<!-- 添加更多的ListView -->
</LinearLayout>
</androidx.core.widget.NestedScrollView>
// MainActivity.java
public class MainActivity extends AppCompatActivity {
private ListView listView1;
private ListView listView2;
// 声明更多的ListView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取每个ListView的实例
listView1 = findViewById(R.id.listView1);
listView2 = findViewById(R.id.listView2);
// 获取更多的ListView实例
// 创建适配器并设置给每个ListView
ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, getData1());
ArrayAdapter<String> adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, getData2());
// 创建更多的适配器
listView1.setAdapter(adapter1);
listView2.setAdapter(adapter2);
// 设置更多的适配器
// 设置每个ListView的高度为固定值或使用布局参数进行动态调整
// 使用NestedScrollView作为根布局的父容器,允许整个布局滚动
}
// 为每个ListView提供数据
private List<String> getData1() {
List<String> data = new ArrayList<>();
// 添加数据到列表
return data;
}
private List<String> getData2() {
List<String> data = new ArrayList<>();
// 添加数据到列表
return data;
}
// 添加更多的数据方法
}
上述代码中,需要根据实际情况进行适配器和数据的设置。可以通过在getData1()和getData2()方法中添加数据,来为每个ListView提供不同的数据源。
这样,我们就可以在单个活动上滚动多个ListView。根据具体需求,可以添加更多的ListView,并按照上述步骤设置每个ListView的适配器、高度以及布局参数等。
领取专属 10元无门槛券
手把手带您无忧上云