Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何动态添加页脚视图_Android_Listview_Listadapter - Fatal编程技术网

Android 如何动态添加页脚视图

Android 如何动态添加页脚视图,android,listview,listadapter,Android,Listview,Listadapter,我已经创建了一个ListView并添加了带有addHeaderView的标题,然后在我的ListActivity中调用了setListAdapter。在我调用setListAdapter之后,我如何动态地addFooterView 答复: 我在列表视图中添加了页眉视图和页脚视图(实际上是按钮), 但我使用wrap_content height将它们包装到一个FrameLayout中,然后当我不需要显示标题按钮时,我只需将Visibility(View.go)和FrameLayout包装为0高度,

我已经创建了一个
ListView
并添加了带有
addHeaderView
的标题,然后在我的
ListActivity
中调用了
setListAdapter
。在我调用
setListAdapter
之后,我如何动态地
addFooterView

答复: 我在列表视图中添加了页眉视图和页脚视图(实际上是按钮), 但我使用wrap_content height将它们包装到一个FrameLayout中,然后当我不需要显示标题按钮时,我只需将Visibility(View.go)和FrameLayout包装为0高度,而Visualy则不可见(与调用removeHeaderView的效果相同),如果我需要再次显示它,则设置Visibility(View.visible)并且显示了它(与addHeaderView的效果相同-在调用设置列表适配器之后,这当然是不可能的)

这里讨论:

查看页眉=GetLayoutFlater()。充气(R.layout.header,null);
视图页脚=GetLayoutFlater()。充气(R.layout.footer,null);
ListView ListView=getListView();
addHeaderView(标题);
添加页脚视图(页脚);
setListAdapter(新阵列适配器)(此,
android.R.layout.simple\u list\u item\u单选,
android.R.id.text1,名称);
查看页眉=GetLayoutFlater()。充气(R.layout.header,null);
视图页脚=GetLayoutFlater()。充气(R.layout.footer,null);
ListView ListView=getListView();
addHeaderView(标题);
添加页脚视图(页脚);
setListAdapter(新阵列适配器)(此,
android.R.layout.simple\u list\u item\u单选,
android.R.id.text1,名称);

你必须这样做

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

你必须这样做

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

09-25 18:43:52.953:错误/AndroidRuntime(229):java.lang.IllegalStateException:无法将页脚视图添加到列表中--已调用setAdapter。@webaloman-查看我编辑的答案。试试这个,让我知道发生了什么。记住页脚和页眉也作为列表元素索引。因此,如果单击页脚下方列表中的第一项,该项索引将为1,而不是0.09-25 18:43:52.953:ERROR/AndroidRuntime(229):java.lang.IllegalStateException:无法将页脚视图添加到列表中--已调用setAdapter。@webaloman-查看我编辑的答案。试试这个,让我知道发生了什么。记住页脚和页眉也作为列表元素索引。因此,如果您单击页脚下方列表中的第一项,该项索引将为1,但不是0。请查看我的editrd答案。试试这个,让我知道发生了什么。看看我的答案。试试这个,让我知道发生了什么。