我想在 SlideMenu 中模拟这种类型的 ListView 。我的 SlideMenu 工作正常。它是一个 ListFragment。我想像 Android 上的 YouTube 应用一样复制这种模式:
我基本上有几个列表项需要添加到类别列表的顶部。我想要一个标题来分开。
我想要这个:
Home
Profile
Top Items
Header that says Categories
And List of Categories
我的 SlideMenu
上已经列出了类别。它们来自 适配器
,该适配器从 MySQL
中的表中填充。但是前三个项目不是来自同一个表(或任何表)。顶部是 ListView
的标题吗?它是它自己的 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;
}
最佳答案
也许您需要在适配器中使用几个 convertView 池? BaseAdapter 包含方法
public int getItemViewType (int position)
和
public int getViewTypeCount ()
您可以覆盖它以实现 2 个 View 池 - 一个用于标题,另一个用于 listView 的项目。同样在这种情况下,您需要根据 getItemViewType() 返回的 itemViewType 更改 getView 方法。
关于android - 像 YouTube App 一样在 SLideMenu 中制作 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118643/