Android:ListView

1、HeaderView显示问题:

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

例如: app

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

 

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

设置后在onItemClickListener或者onItemLongClickListener等等涉及到position的状况下,position每每不是你指望的值,好比多是从1开始的   ide

adapter.getItem(int position)

    position多是从1开始的   布局

listView.getAdapter().getItem(int position)

    position是指望的值。 测试

 

关于这个问题,能够看看源码的描述: this

/**
     * 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;
    }
相关文章
相关标签/搜索