質問と問題があります。まず第一に、これが可能かどうかはわかりません
。タブ付きのフラグメントアクティビティがあります。1 つのタブ (フラグメント) に、非表示の項目リストを含むマップがあります。その断片の額縁に地図がはめ込まれています。リストがダウンロードされ、ボタンを押すと再び表示されます。マップ上に、そのアイテムを表すマーカーがあります。
私の問題は次のとおりです。フレームに入れたフラグメントを
null
使用すると、常にマップが表示されます。これは可能ですか?そうでない場合、何をお勧めしますか?前もって感謝します。getMap()
編集済み
public class MapExplore extends Fragment{
private FrameLayout frame;
private ListView list;
private String api_key;
private GoogleMap map;
private MapExploreAdapter adapter;
private SupportMapFragment map_fragment;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
api_key = Configuration.get_prefereence_string(getActivity(), "user_activation_key", null);
adapter = new MapExploreAdapter();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.map_explore, null);
frame = (FrameLayout) view.findViewById(R.id.frameMap);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
setUpMapFragment();
}
private void setUpMapFragment(){
if(map_fragment == null){
map_fragment = SupportMapFragment.newInstance();
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.add(frame.getId(), map_fragment, Utils.MAP_FRAGMENT_TAG);
ft.commit();
}
}
private void setUpMap(){
Log.i("SET UP MAP", "Started");
if(map == null){
map = ((SupportMapFragment) map_fragment).getMap();
}
if(map != null){
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(Utils.SF_LAT, Utils.SF_LON), 13));
}
}
@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
setUpMap();
}
いくつかのコードで質問を編集しました...