我有一个BaseAdapter
管理我的行的ListView
. 所有这一切,而我一直在列表视图中显示记录,没有任何分组或标题,它运行良好。我的适配器对一组未分组的数据使用ArrayList
and ,它工作得很好。这是它的样子:
public class SearchResultsAdapter extends BaseAdapter {
public ArrayList<Result> objResults;
public SearchResultsAdapter(Search ctxContext, ArrayList<Result> objResults) {
this.objResults = objResults;
}
public View getView(int position, View convertView, ViewGroup parent) {
if (check whether it is a category) {
View v = mInflater.inflate(R.layout.category, null);
final TextView sectionView = (TextView) v.findViewById(R.id.text);
sectionView.setText("New Category");
return v;
} else {
View vewRow = mInflater.inflate(R.layout.row, null);
TextView tvwName = (TextView) vewRow.findViewById(R.id.name);
tvwName.setText(objResults.get(position).getName());
return vewRow;
}
}
}
当getView
适配器的方法在内部被调用时,它只希望它从我的集合中返回一行position
。
理想情况下,我可以使用 a HashMap
,因为我可以将我的数据分组并将每个组的数据存储在地图中的一个键下,但我不能使用;尽可能HashMap
简单地引用项目。这是合乎逻辑的。position
ArrayList
我见过很多应用程序ListView
都使用 来显示标题和行,但我不明白什么集合/模式最适合这个。
谢谢。