1

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

在此处输入图像描述

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

我要这个:

Home
Profile
Top Items

Header that says Categories
And List of Categories

我已经在我的SlideMenu. 它们来自一个adapterMySQL. 但前三个项目并非来自同一张表(或任何表)。顶部是 a 的标题ListView吗?是它自己的ListView吗?或者..?

请记住,我希望能够对列表进行排序(我已经通过 a 获得了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;

    }
4

1 回答 1

3

也许您需要在适配器中使用几个 convertView 池?BaseAdapter 包含方法

public int getItemViewType (int position)

public int getViewTypeCount ()

您可以覆盖它以实现 2 个视图池 - 一个用于 Headers,另一个用于 ListView 的 Items。同样在这种情况下,您需要根据 getItemViewType() 返回的 itemViewType 更改 getView 方法。

于 2013-02-27T17:47:51.983 回答