Android:ListView

一、HeaderView显示问题:

给ListView添加了一个headerView后,运行后界面上不会出现headerView布局。测试发现,当给ListView设置adapter后,headerView就可以显示了。

例如:

listView = (ListView) findViewById(R.id.list);
headerView = LayoutInflater.from(this).inflate(R.layout.header, listView, false);
listView.addHeaderView(headerView, null, false);

 

二、设置HeaderView或FooterView后的position问题

设置后在onItemClickListener或者onItemLongClickListener等等涉及到position的情况下,position往往不是你期望的值,比如可能是从1开始的  

adapter.getItem(int position)

    position可能是从1开始的  

listView.getAdapter().getItem(int position)

    position是期望的值。

 

关于这个问题,可以看看源码的描述:

 /**
     * Returns the adapter currently in use in this ListView. The returned adapter
     * might not be the same adapter passed to {@link #setAdapter(ListAdapter)} but
     * might be a {@link WrapperListAdapter}.
     *
     * @return The adapter currently used to display data in this ListView.
     *
     * @see #setAdapter(ListAdapter)
     */
    @Override
    public ListAdapter getAdapter() {
        return mAdapter;
    }

 

你可能感兴趣的:(ListView,Adapter,footerview,headerview)