给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);
设置后在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; }