0

我创建了一个采用整个屏幕布局的标题布局(xml文件)......

我还创建了一个 listView 并将这个 header_layout 添加到 listView 中:

LayoutInflater inflater = getLayoutInflater();
final View headerL = inflater.inflate(R.layout.header, null);
swipeListView.addHeaderView(headerL, null, false);

列表视图位于标题布局下。

但是,标题在整个页面上被拉伸,当我尝试滚动标题(向下滚动我会看到 listView)时,它不会向下滚动..

headerView 不可滚动,因此我无法访问 listView ...

有另一种实现吗?或使标题可滚动?

listView 不为空,我通过调试模式检查了它

此外,如果我从 listView 中删除 headerView(我的页面仅包含 listView,没有标题)它会很好地显示 listView

多谢

4

2 回答 2

1

如果您希望标题像其他视图一样可滚动,您可以实现方法BaseAdapter.getItemViewType,这样对于第一个位置,它将返回标题的类型,其余的返回普通类型的类型.

然后,在 getView 方法中,您将检查要膨胀/重用的类型,并在需要时用所需的数据填充它。

例子:

@Override
public int getItemViewType(final int position) 
  {
  return position==0?0:1;
  }

@Override
public View getView(final int position, final View convertView, final ViewGroup parent) 
  {
  int rowType=getItemViewType(position);
  if(rowType==0)
    {
    //handle a header (don't forget to use convertView)
    }
  else 
    {
    //handle a simple row (don't forget to use convertView and use the correct item)
    }
  }

有关 listView 的更多提示,请查看“ listview 的世界”讲座。

于 2013-05-08T19:49:33.103 回答
0

标题视图不应该是可滚动的,因为它是列表视图的标题。这意味着它应该始终显示在列表视图上方,无论列表的位置如何。哪个按设计工作......现在你不能使用你想要的列表视图标题。

您需要创建自己的列表视图并允许标题视图在滚动视图的范围内滚动。

请记住,如果标题是可滚动的,那将会使设计混乱。我建议坚持标准。

于 2013-05-08T18:55:12.767 回答