Я пишу приложение для Android, которое нацелено на 4.0 и выше, и я использую Google Maps v2. Я хотел бы установить содержимое InfoWindow
с помощью Fragment
. Кто-нибудь знает, возможно ли это?Добавить Android Fragment в InfoWindow Содержание
Мой класс реализует InfoWindowAdapter
и здесь соответствующий код:
//
// InfoWindowAdapter interface
//
@Override
public View getInfoContents (Marker marker) {
LinearLayout layout = new LinearLayout(this.getActivity());
LayoutInflater inflater = (LayoutInflater) this.getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.map_details, layout);
MapDetailsFragment frag = new MapDetailsFragment();
// TODO: How to add this fragment to v???
return v;
}
@Override
public View getInfoWindow (Marker marker) {
return null;
}
Я попытался следующий код после инстанцировании frag
:
this.getFragmentManager().beginTransaction().replace(R.id.fragment_map_details, frag).commit();
Но R.id.fragment_map_details
происходит от R.layout.map_details
и, таким образом FragmentManager
Безразлично Я еще ничего об этом не знаю.
Любые указатели были бы очень признательны!
Я думаю, что вы правы. У меня это было уже несколько дней без везения. К счастью, я смог сделать большинство методов в этом фрагменте static, поэтому мне удалось раздуть представление и установить все поля, используя статические методы. Не идеальный, но не дублирующий код. – themanatuf