如何动态添加页脚视图

时间:2011-09-25 18:55:08

标签: android listview listadapter

我创建了ListView并添加了addHeaderView标题,然后我在setListAdapter中调用了ListActivity。我打电话给addFooterView之后我怎么能动态setListAdapter

解答: 我在页面视图中添加了页眉视图和页脚视图(实际上是按钮), 但是他们都使用wrap_content高度包装到FrameLayout中,然后当我不需要显示标题按钮时我只是setVisibility(View.GONE)和FrameLayout包装到0高度并且vissualy它不可见(相同的效果)好像我会调用removeHeaderView),如果我需要再次显示它,我会显示setVisibilty(View.VISIBLE)并显示它(与addHeaderView效果相同 - 当然在调用设置列表适配器后不可能)

在这里讨论: Hide footer view in ListView?

2 个答案:

答案 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);