0

我有一个扩展谷歌 MapView 的视图。和一个带有项目的 ListView。我需要的是把 MyMapView 作为列表视图的标题。请帮忙怎么办

更新:当我尝试这样做时:

LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ListView list = (ListView) findViewById(R.id.list);
View m = inflater.inflate(R.layout.map, list, false);
list.addHeaderView(m); 

我收到一个错误:

MapViews 只能在 MapActivity 的实例中创建

我认为这是因为我已经从我的活动中删除了我的 xml 布局以将 map 转换为 different.xml

4

4 回答 4

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:将静态标题添加到 ListActivity 的顶部

于 2012-07-20T08:52:24.283 回答
1

试着打电话

ListView.addHeaderView (View v)

在将适配器设置为此 ListView 之前

于 2012-07-20T08:36:48.190 回答
0

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

if(position==0)
{
//Provide header view
}
else  
{
//provide normal row
}
于 2012-07-20T08:53:50.747 回答
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);

于 2017-10-24T07:56:40.977 回答