android的listview的addheaderView总是出现空指针的错误

android的listview的addheaderView总是出现空指针的错误,

网上的处理方法如下:

// This doesn't work... nullPointerException
ListView lv = (ListView) findViewById(R.id.my_list_view);
TextView header = (TextView) findViewById(R.id.my_header);
lv.addHeaderView(header);

// This works fine
ListView lv = (ListView) findViewById(R.id.my_list_view);
TextView header = new TextView(this);
TextView.setHeight(30);
TextView.setText("my header text!");
lv.addHeaderView(header);

而根本就做不到

View header = findViewById(R.layout.headerView);
lst.addHeaderView(header);

这将无法工作目前正通过在视图中has to be inflated。在当你做一个概括地说setContentView在你的活动开始了android自动充气的观点,并把它。为了抬高你的头视图中,所有你所要做的就是

View header = (View)getLayoutInflater().inflate(R.layout.headerView,null);
ls.addHeaderView(header);

最后,添加您的适配器你设置页眉视图后运行应用程序。您应该看到你的头视图你把你的适配器的内容。 就我而言,这个工程

View header = getLayoutInflater().inflate(R.layout.header, null); 
View footer = getLayoutInflater().inflate(R.layout.footer, null); 

ListView listView = getListView(); 

listView.addHeaderView(header); 
listView.addFooterView(footer);  

setListAdapter(new ArrayAdapter<String(this,android.R.layout.simple_list_item_single_choice,android.R.id.text1, names)); 

问题是 这两个方法 都无法通过我的测试,都显示listView.addHeaderView(header)空指针的错误,到底应该怎么解决呢?

 
posted @ 2014-03-27 19:32  Tinan  阅读(1076)  评论(0编辑  收藏  举报