如何将视图添加为ListView标头

时间:2012-07-20 08:33:10

标签: android listview header android-mapview

我有一个View扩展谷歌MapView。还有一个包含项目的ListView。我需要的是将MyMapView作为标题添加到列表视图中。帮助请做什么

更新:当我尝试这样做时:     LayoutInflater inflater =(LayoutInflater)getApplicationContext()。getSystemService(Context.LAYOUT_INFLATER_SERVICE);     ListView list =(ListView)findViewById(R.id.list);     查看m = inflater.inflate(R.layout.map,list,false);     list.addHeaderView(米);

我收到一个错误:MapViews只能在MapActivity的实例中创建。我认为这是因为我将我的xml布局从我的活动

中删除了不同的.xml

4 个答案:

答案 0 :(得分:3)

试试这个

首先创建ListViewHeader.xml

并执行此操作

ListView lv = getListView(); // Your listView
LayoutInflater inflater = getLayoutInflater();
ViewGroup header = (ViewGroup)inflater.inflate(R.layout.YourHeader, lv, false);
lv.addHeaderView(header, null, false);

查看Android: Adding static header to the top of a ListActivity

答案 1 :(得分:1)

尝试致电

ListView.addHeaderView (View v)

在将适配器设置为此ListView

之前

答案 2 :(得分:0)

如果您使用自定义适配器,则在getView()方法中提供位置0处的不同视图。

if(position==0)
{
//Provide header view
}
else  
{
//provide normal row
}

答案 3 :(得分:0)

您可以执行以下操作将视图添加为android中的ListView标头。


ListView list = (ListView) findViewById(R.id.list);

LayoutInflater inflater = getLayoutInflater();

ViewGroup viewGroup= (ViewGroup)inflater.inflate(R.layout.YourLayoutFile,list, false);

list.addHeaderView(viewGroup, null, false);