在Android studio中使用Listview控件、Fragment编写出三行两列的页面
时间: 2024-02-01 18:15:20 浏览: 131
android的Listview分页
4星 · 用户满意度95%
以下是使用ListView控件和Fragment编写三行两列页面的示例代码:
1. 首先,在XML布局文件中创建ListView和Fragment的容器:
```
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/list_view" />
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
</RelativeLayout>
```
2. 创建Fragment类并实现其中的onCreateView方法:
```
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
// 在此处设置Fragment中显示的内容
return view;
}
}
```
3. 在Activity中实现ListView的Adapter,并为每个Item设置对应的Fragment:
```
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private MyFragment[] mFragments = new MyFragment[6];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = findViewById(R.id.list_view);
// 创建Fragment并存储到数组中
for (int i = 0; i < 6; i++) {
mFragments[i] = new MyFragment();
}
// 设置ListView的Adapter
mListView.setAdapter(new MyAdapter(getSupportFragmentManager(), mFragments));
}
private class MyAdapter extends FragmentPagerAdapter {
private MyFragment[] fragments;
public MyAdapter(FragmentManager fm, MyFragment[] fragments) {
super(fm);
this.fragments = fragments;
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragments[position];
}
@Override
public int getCount() {
return fragments.length;
}
}
}
```
在这个示例中,我们创建了一个由6个Fragment组成的数组,并将其传递给ListView的Adapter。在Adapter中,我们使用FragmentPagerAdapter来实现逐个提供每个Fragment的功能。然后,我们可以在每个Fragment的onCreateView方法中添加我们想要显示的内容。最后,我们将ListView放置在布局的底部,以使其显示在所有Fragment之上。
阅读全文