我正在使用在ListView中实现的数据库 我想分区ListView并添加标题(分隔符)。我的意思是,我有很多城市,我想按国家分隔他们 以下是我认为与标题有关的类:
String[] adobe_products = getResources().getStringArray(R.array.adobe_products);
mAdapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products);
// Binding Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products));
ListView lv = getListView();
// listening to single list item on click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
/* // selected item
String product = ((TextView) view).getText().toString();
// Launching new Activity on selecting single List Item
Intent i = new Intent(getApplicationContext(), SingleListItem.class);
// sending data to new activity
i.putExtra("product", product);
startActivity(i);*/
答案 0 :(得分:2)
分隔符基本上只是一个自定义列表项。您需要覆盖适配器以返回您希望标题所在的禁用列表项。
对于您的实例,您可以在字符串数组中的正确位置添加分隔符,并对自定义适配器进行以下调整:
然后,一种方法是只有一个单独的标题项列表,然后创建一个这样的方法来检查上面提到的所有方法的项类型。
public Boolean isSeparator(int position) {
if (separatorList.contains(getItem(position)) {
return true;
} else {
return false;
}
}