如何设置列表视图格式如下图?我可以显示数据库中的所有数据,但这不是我想要的

时间:2018-09-01 16:54:36

标签: android listview

你们都知道如何在一个框中而不是下面的图片中显示这些信息吗?抱歉,我不知道该如何表达自己。我的意思是在一个框中输入“ 1,A0010001,16/08/2018,John,100,Donation,16/08/2018”,而以“ 2”开头的ID应该在另一个框中...我想知道这样做吗?有什么办法吗?我在下面的帖子中分享了一个示例。请在那里参考,谢谢。

Image

这是我的代码

if(data.getCount() == 0){
            Toast.makeText(Summary_Page.this,"No database",Toast.LENGTH_SHORT).show();
        }else{
            while(data.moveToNext()){
                    theList.add(data.getString(0));
                    theList.add(data.getString(1));
                    theList.add(data.getString(2));
                    theList.add(data.getString(3));
                    theList.add(data.getString(4));
                    theList.add(data.getString(5));
                    theList.add(data.getString(7));
                    ListAdapter listAdapter = new ArrayAdapter<>(this,android.R.layout.simple_expandable_list_item_1,theList);
                    listView.setAdapter(listAdapter);
                }
            }
        }

它将在列表视图中显示所有数据。但是,如何像下面的图片一样排列呢?

Image2

1 个答案:

答案 0 :(得分:2)

您可以将自定义列表视图或Recycler视图与cardView一起使用,以根据需要显示数据。另外,您还必须将列表视图的适配器置于while循环之外。

else{
            while(data.moveToNext()){
                    theList.add(data.getString(0));
                    theList.add(data.getString(1));
                    theList.add(data.getString(2));
                    theList.add(data.getString(3));
                    theList.add(data.getString(4));
                    theList.add(data.getString(5));
                    theList.add(data.getString(7));

                }
            ListAdapter listAdapter = new ArrayAdapter<> 
            (this,android.R.layout.simple_expandable_list_item_1,theList);
                    listView.setAdapter(listAdapter);
            }

您必须使用自定义列表视图适配器和基本适配器,而不是使用简单适配器