我创建了ListView
并添加了addHeaderView
标题,然后我在setListAdapter
中调用了ListActivity
。我打电话给addFooterView
之后我怎么能动态setListAdapter
?
解答: 我在页面视图中添加了页眉视图和页脚视图(实际上是按钮), 但是他们都使用wrap_content高度包装到FrameLayout中,然后当我不需要显示标题按钮时我只是setVisibility(View.GONE)和FrameLayout包装到0高度并且vissualy它不可见(相同的效果)好像我会调用removeHeaderView),如果我需要再次显示它,我会显示setVisibilty(View.VISIBLE)并显示它(与addHeaderView效果相同 - 当然在调用设置列表适配器后不可能)
答案 0 :(得分:4)
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));
答案 1 :(得分:0)
你必须这样做
View header = (View)getLayoutInflater().inflate(R.layout.header,null);
SimpleAdapter myAdapter=new SimpleAdapter(this,myList,R.layout.transactionvalues,
new String[] {"transaction_date_time","user_name","site_name","machine_name"},new int[] {R.id.Date_Time,R.id.User,R.id.Site,R.id.Machine});
if(header == null){
lst.removeHeaderView(header);
}else
{
lst.addHeaderView(header,null,false);
}
lst.setAdapter(myAdapter);