android - 像 YouTube App 一样在 SLideMenu 中制作 ListView

标签 android listview

我想在 SlideMenu 中模拟这种类型的 ListView 。我的 SlideMenu 工作正常。它是一个 ListFragment。我想像 Android 上的 YouTube 应用一样复制这种模式:

enter image description here

我基本上有几个列表项需要添加到类别列表的顶部。我想要一个标题来分开。

我想要这个:

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/

相关文章:

android - 具有 ListView 和多对多关系的内容提供者

android - ListView 示例在结果 View 中复制联系人

c# - FlexLayout 可绑定(bind)源 -xamarin 表单 - 如何在不绑定(bind)的情况下获取数据

android - 如果director路径或文件名中有空格,如何使ffmpeg cmd运行

具有多个标题的 Android PinnedHeaderListView

android - 生命周期状态总是初始化

java - 按钮在 ListView 中不起作用

iphone - 在网络移动设备上购买电子商务

c# - 如何对包含文件大小数据的 ListView 列进行排序? C#

android - listview在android中的每个列表项中都有viewpager