117.info
人生若只如初见

listview控件怎么设置横向多个列

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

以下是一个示例:

activity_main.xml:


list_item.xml:


MainActivity.java:

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private List> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listView = findViewById(R.id.listView);

        // 初始化数据
        data = https://www.yisu.com/ask/new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            List row = new ArrayList<>();
            for (int j = 0; j < 3; j++) {
                row.add("Item " + i + "-" + j);
            }
            data.add(row);
        }

        // 设置适配器
        MyAdapter adapter = new MyAdapter(data);
        listView.setAdapter(adapter);
    }

    private class MyAdapter extends BaseAdapter {

        private List> data;

        public MyAdapter(List> data) {
            this.data = https://www.yisu.com/ask/data;"hljs">int position) {
            return data.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.list_item, parent, false);
            }

            GridView gridView = convertView.findViewById(R.id.gridView);
            ArrayAdapter gridAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, data.get(position));
            gridView.setAdapter(gridAdapter);

            return convertView;
        }
    }
}

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

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe48dAzsLAgZVBlE.html

推荐文章

  • listview的view属性怎么设置

    ListView的view属性可以通过以下几种方式进行设置: 在布局文件中使用android:layout属性来设置。例如: 在上面的例子中,设置了ListView的layout_width、layout...

  • ListView之性能优化

    ListView是Android中常用的控件之一,用于显示大量数据的列表。由于数据量大,因此在使用ListView时需要进行性能优化,以提升用户体验。
    以下是一些针对Lis...

  • listview控件的作用是什么

    ListView控件是一种用于显示多个项的视图控件,每个项可以包含文本、图像或其他自定义视图。它可以显示大量的数据,并且支持用户滚动浏览。ListView通常用于展示...

  • listview怎么设置单元格颜色

    在ListView中设置单元格的颜色可以使用适配器(Adapter)来实现。
    首先,在适配器的getView方法中,设置单元格的背景颜色。可以通过设置View的背景色或者背...

  • python如何把列表中的数字提取出来

    要提取列表中的数字,可以使用列表推导式或循环遍历列表的方式。 使用列表推导式 numbers = [x for x in your_list if isinstance(x, (int, float))]
    print...

  • socket接收数据的方法是什么

    Socket接收数据的方法有两种: 阻塞式方法:使用阻塞式方法进行接收数据时,程序会一直等待直到接收到数据为止。常用的阻塞式方法有: recv():用于接收TCP套接字...

  • websocket上传大文件的方法是什么

    要通过WebSocket上传大文件,可以使用以下方法: 将大文件分块:将大文件分割成较小的文件块,每个文件块的大小适合传输。可以使用JavaScript中的File API将文件...

  • delphi中double取整的方法是什么

    在Delphi中,可以使用以下方法将一个double类型的值取整: 使用Round函数:Round函数将一个浮点数四舍五入为最接近的整数。例如: var d: Double; i: Integer;