如何在ListView控件中设置多个水平列

分类:网络文章 时间:2024-01-15 09:24 浏览:0 评论:0
0

要在ListView控件中设置多个水平列,可以使用GridView作为ListView的子控件。

以下是一个示例:

activity_main.xml:

< ListView android:id="@+id/listView"  android:layout_width="match_parent" android :layout_height="match_parent"/>

list_item.xml:

< pre class="hljs"><GridView xmlns:android< / span>="http://schemas.android.com/apk/res/android" android:id="@+id/gridView" android:layout_width= android:layout_height="wrap_content" android:columnWidth ="100dp" android:numColumns= "auto_fit" android:verticalSpacing="10dp" android:horizo​​ntalSpacing="10dp" android:stretchMode=< span class="hljs-string">"columnWidth" android:gravity="center"/>

MainActivity.java:

公共 class MainActivity 扩展 AppCompatActivity { 私有 ListView listView; 私有列表>数据; @Override 受保护 void onCreate(捆绑savedInstanceState) { 超级.onCreate(savedInstanceState ); setContentView(R.layout.activity_main); listView = findViewById(R.id.listView); //初始化数据 data = new ArrayList<>(); for (int i = 0; i < 20; i++) { 列表< String> row =  ArrayList<>(); for (int j = 0; j < 3; j++) { 行。添加("项目" + i + "-" + j); } data.add(行); } //设置适配器 MyAdapter 适配器 < span class="hljs-operator">=  MyAdapter(数据); listView.setAdapter(适配器); } 私有 class MyAdapter 扩展 BaseAdapter { 私有列表 > 数据; 公共 MyAdapter(List> data) { 这个.data = 数据; } @Override public int getCount() { 返回 data.size() ; } @Override public 对象 getItem< span class= "hljs-params">(int 位置) {返回 data.get (位置); } @Override 公共  getItemId(int 位置) { 返回 po站点; } @Override public 查看 getView< span class="hljs-params">(int 位置,View ConvertView,ViewGroup 父级) { if< /span> (convertView == null) { ConvertView = LayoutInflater.from(MainActivity.this).inflate (R.layout.list_item, 父级, false); } GridView gridView = ConvertView.findViewById( R.id.gridView) ; ArrayAdapter gridAdapter =  ArrayAdapter<>(MainActivity.这个, android.R.layout.simple_list_item_1, data.get(position)); gridView.setAdapter(gridAdapter); 返回 转换视图; } }}

这样就可以在ListView中横向展示多列数据了。每个Item都使用GridView来显示多列数据。通过将GridView的numColumns属性设置为auto_fit,可以自动调整屏幕大小以显示列数。使用数组适配器ArrayAdapter来显示各个格子的数据。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 网络文章 > 如何在ListView控件中设置多个水平列

用户评论