我想在SlideMenu中模拟这种类型的Listview。我有SlideMenu正常工作。它是一个ListFragment。我希望像Android上的YouTube应用一样复制此模式:
我基本上有几个列表项需要添加到类别列表的顶部。我想要一个标题分开。
我想要这个:
Home
Profile
Top Items
Header that says Categories
And List of Categories
我已经在我的SlideMenu
上列出了正确的类别。它们来自adapter
,其填充在MySQL
中的表格中。但是这三个顶级项目并非来自同一个表格(或任何表格)。顶部是ListView
的标题吗?是OWN ListView
吗?或..?
请记住,我希望能够对列表进行排序(我已经通过spinner
对其进行了排序)。所以类别必须是动态的。但如何添加上面的几个静态项和制作标题?
我真的不需要代码示例,我只想知道实现它的方法。
编辑:这是代码正在进行中 这显示了分隔符,如Youtube示例中的Channels行。还需要弄清楚如何在顶部添加这两条或三条静态线。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
holder = new ViewHolder();
View rowView = convertView;
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
int type = getItemViewType(position);
if (rowView == null) {
switch (type) {
case TYPE_ITEM:
rowView = inflater.inflate(R.layout.mastercat_layout, null,
true);
holder.textView = (TextView) rowView.findViewById(R.id.label);
holder.textView.setTypeface(tf);
holder.imageView = (ImageView) rowView.findViewById(R.id.icon);
break;
case TYPE_SEPARATOR:
rowView = inflater.inflate(R.layout.mastercat_layout_separate, null);
break;
}
rowView.setTag(holder);
} else {
holder = (ViewHolder) rowView.getTag();
}
holder.textView.setText(getItem(position));
holder.imageView.setImageResource(R.drawable.ic_launcher);
return rowView;
}
答案 0 :(得分:3)
也许你需要在适配器中使用几个convertView池? BaseAdapter包含方法
public int getItemViewType (int position)
和
public int getViewTypeCount ()
您可以覆盖它以实现2个视图池 - 一个用于标题,另一个用于项目列表视图。同样在这种情况下,您需要根据getItemViewType()返回的itemViewType更改getView方法。