我想将小地图添加到列表中,并创建了一个Cursor适配器来处理位置列表。如何引用android列表适配器中的片段
对个人位置的布局是这样的:
<LinearLayout
... >
<TextView android:id="@+id/start_loc"
...
/>
<fragment android:id="@+id/start_loc_map"
android:name="com.google.android.gms.maps.MapFragment"
...
/>
</LinearLayout>
然后在适配器:
@Override
public void bindView(View view, Context context, Cursor cursor) {
startLocView = (TextView) view.findViewById(R.id.start_loc);
则是这样的:
SupportMapFragment startLocMap =
(SupportMapFragment) view.findViewById(R.id.start_loc_map);
或:
这些作品都没有。该视图(并不令人意外)不能作为片段进行转换,并且不存在可用于适配器的片段或活动。我可以得到一个上下文和(Activity) context.getFragmentManager
,但我找不到任何方式从getChildFragmentManager
。我可以得到一个FrameLayout,这是容器对象,但我不知道任何方式引用其中包含的碎片。
如何从适配器获取对布局中的静态(?)片段的引用?获得<fragment>
比<TextView>
简单吗?
谢谢你。我正在寻找一种方法来做类似的事情,但是我需要能够像通过maps API那样标记地图,添加标记。这个阶段不一定需要互动。类似的线程中的海报(http://stackoverflow.com/questions/27397269/how-to-add-mapfragment-inside-a-listview-item-within-adapter)建议使用“lite”('options.liteMode (true);')模式,这将改善预期的问题。我还没有尝试过。 – albe
此外,这取决于位置。 – albe