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中多种item的实现方式

    在ListView中实现多种item的方式主要有以下几种: 使用不同的布局文件:通过在Adapter中根据不同的position返回不同的布局文件,可以实现不同的item样式。在getV...

  • listview控件如何添加数据

    ListView控件可以通过Adapter来添加数据。以下是通过适配器添加数据的一般步骤: 创建列表项布局:创建一个XML布局文件,该布局文件描述了每个列表项的外观和布局...

  • 如何获取listview选中的数据

    要获取ListView选中的数据,您可以使用以下步骤: 在ListView的适配器中,为每个item设置一个点击事件监听器。 在点击事件监听器中,获取选中的item位置。 根据位...

  • listview防止滚动刷新的方法是什么

    要防止ListView在滚动时刷新,可以通过设置ListView的setOnScrollListener方法,并在onScrollStateChanged方法中进行判断和处理。
    具体步骤如下: 设置List...

  • 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;