如何将第一个 Arraylist 放在 Item 中,将第二个 Arraylist 放在 SubItem 中(在 ListView 中)?
How to put the first Arraylist in Item and the second Arraylist in SubItem (in ListView)?
好吧,我有一个数据库和游标,我将数据库中的数据放在 ArrayLists 中。使用我的代码,我只能在 ListView 的 Item 中显示一个 ArrayList 的数据。但是我想把第一个ArrayList放在Item里,第二个ArrayList放在SubItem里。我需要做什么? (如果您需要,我可以提供更多信息或代码)
我已经尝试过类似问题的答案,但它们对我没有帮助。
myDB = new DatabaseHelper(this);
ArrayList<String> theNames = new ArrayList<>();
ArrayList<Integer> theYear = new ArrayList<>();
Cursor data = myDB.getListContents();
if (data.getCount() == 0){
Toast.makeText(this, "There are no contents in this list!",Toast.LENGTH_LONG).show();
} else {
while(data.moveToNext()){
theNames.add(data.getString(1));
theYear.add(data.getInt(2));
ListAdapter listAdapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,theNames);
listView.setAdapter(listAdapter);
}
}
我希望在 ListView 的 Item 中看到第一个 ArrayList 的数据,在 ListView 的 SubItem 中看到第二个 ArrayList 的数据。
通常的做法是创建一个具有两个属性的自定义 class(例如,Person),名称和日期(生日?随便什么)。然后,当您处理游标时,为数据库中的每一行创建一个 class 的实例,并使用游标中的名称和日期填充它。然后,将该 class 实例添加到您的 ArrayList。然后,您需要创建一个扩展 BaseAdapter 的自定义适配器。您将在该适配器的构造函数中传递 ArrayList。然后,在 Adapter 代码中,您覆盖传递位置的 getView 方法,并从 ArrayList 中获取人员实例,然后您可以访问该人员的姓名和日期。这是更多的工作,但并不困难。只需搜索构建自定义适配器,然后构建自定义 class 即可查看具体操作方法。
好吧,我有一个数据库和游标,我将数据库中的数据放在 ArrayLists 中。使用我的代码,我只能在 ListView 的 Item 中显示一个 ArrayList 的数据。但是我想把第一个ArrayList放在Item里,第二个ArrayList放在SubItem里。我需要做什么? (如果您需要,我可以提供更多信息或代码)
我已经尝试过类似问题的答案,但它们对我没有帮助。
myDB = new DatabaseHelper(this);
ArrayList<String> theNames = new ArrayList<>();
ArrayList<Integer> theYear = new ArrayList<>();
Cursor data = myDB.getListContents();
if (data.getCount() == 0){
Toast.makeText(this, "There are no contents in this list!",Toast.LENGTH_LONG).show();
} else {
while(data.moveToNext()){
theNames.add(data.getString(1));
theYear.add(data.getInt(2));
ListAdapter listAdapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,theNames);
listView.setAdapter(listAdapter);
}
}
我希望在 ListView 的 Item 中看到第一个 ArrayList 的数据,在 ListView 的 SubItem 中看到第二个 ArrayList 的数据。
通常的做法是创建一个具有两个属性的自定义 class(例如,Person),名称和日期(生日?随便什么)。然后,当您处理游标时,为数据库中的每一行创建一个 class 的实例,并使用游标中的名称和日期填充它。然后,将该 class 实例添加到您的 ArrayList。然后,您需要创建一个扩展 BaseAdapter 的自定义适配器。您将在该适配器的构造函数中传递 ArrayList。然后,在 Adapter 代码中,您覆盖传递位置的 getView 方法,并从 ArrayList 中获取人员实例,然后您可以访问该人员的姓名和日期。这是更多的工作,但并不困难。只需搜索构建自定义适配器,然后构建自定义 class 即可查看具体操作方法。