ListView中不显示HeaderView

shangmingchao 2015-03-28 07:36:29
ListView中加了头和尾后不显示HeaderView。当ListView高度为精确值时(dp)没问题。但当为match_parent和wrap_content时就只能看到尾了,看不到头(头成是空白了),请各位帮忙看一下。
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent" >

</ListView>
</LinearLayout>

listfooter.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_listfooter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<Button
android:id="@+id/btn_load_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Loading" />

</LinearLayout>

MainActivity.java
public class MainActivity extends Activity {
ListView lv = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View listfooter = LayoutInflater.from(this).inflate(R.layout.listfooter, null);
lv = (ListView) this.findViewById(R.id.lv);
lv.addFooterView(listfooter, null, true);
lv.addHeaderView(listfooter, null, true);
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData()));
Toast.makeText(this, " "+lv.getCount(), Toast.LENGTH_SHORT).show();
}
private List<String> getData(){

List<String> data = new ArrayList<String>();
data.add("测试数据1");
data.add("测试数据2");
data.add("测试数据3");
data.add("测试数据4");

return data;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

...全文
628 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangmingchao 2015-03-29
  • 打赏
  • 举报
回复
引用 3 楼 jeky198306 的回复:
你尝试头尾用不同的布局文件加载,头也可以直接加在listview的上面,不单独定义
谢谢,也许因为在给listview添加头尾时头和尾都指向了同一个view对象,在布局时没能正确处理导致的,我头和尾换了不同view就可以了。
jeky_zhang2013 2015-03-28
  • 打赏
  • 举报
回复
你尝试头尾用不同的布局文件加载,头也可以直接加在listview的上面,不单独定义
shangmingchao 2015-03-28
  • 打赏
  • 举报
回复
引用 1 楼 u012137924 的回复:
http://download.csdn.net/detail/u012137924/8412899 以前写的一个小DEMO,你去下载看看吧,ListView,列表视图,他的每一个item都是一个子视图,一般自定义适配器来为他的item填充视图,这样做的目的是使得他的item多样化。
不是,我是为了避免用ScrollView嵌套listview,所以想通过给listview添加头和尾的方式来实现,谁知道怎么写都有问题,还不知道错哪了。
山鹰1985 2015-03-28
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/u012137924/8412899

以前写的一个小DEMO,你去下载看看吧,ListView,列表视图,他的每一个item都是一个子视图,一般自定义适配器来为他的item填充视图,这样做的目的是使得他的item多样化。

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧