android - addHeaderView在setAdapter之前还是报错呢?如图
大家讲道理
大家讲道理 2017-04-17 16:21:16
[Android讨论组]

public class MainActivity extends Activity {

private List<Person> mData = null;
private Context mContext;
private PersonAdapter mAdapter = null;
private ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mContext = MainActivity.this;
    listview = (ListView) findViewById(R.id.listview);
     //动态加载顶部View和底部View
    final LayoutInflater inflater = LayoutInflater.from(this);
    View headView = inflater.inflate(R.layout.listview_header, null, false);
    View footView = inflater.inflate(R.layout.listview_footer, null, false);
     //添加表头和表尾需要写在setAdapter方法调用之前!!!
    Log.e("mAdapter", mAdapter+"");
    listview.addHeaderView(headView);
    listview.addFooterView(footView);
    mData = new LinkedList<Person>();
    mData.add(new Person("张三", 20, "男", "四川"));
    mData.add(new Person("李四", 10, "男", "广东"));
    mData.add(new Person("王五", 44, "女", "广西"));
    mData.add(new Person("刘六", 33, "女", "上海"));
    mData.add(new Person("汪七", 55, "男", "浙江"));
    mAdapter = new PersonAdapter((LinkedList<Person>) mData, mContext);
    listview.setAdapter(mAdapter);
}

}

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
阿神

应该没啥大问题,你把build目录删了,重新构建一下。另外,我想看看你的布局。

巴扎黑

怀疑listview一直有adapter没有释放
执行addHeaderView时,打log看一下listview.getAdapter()看看是否为空
尝试在onDestory时,执行listview.setAdapter(null)是否有用

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号