ということで、断片をまとめてみました。FragmentActivity を拡張する TabActivity があり
ます TabActivity 内に Fragments(android.support.v4.app.Fragment) を拡張する 4 つ
のタブがあります これらの Fragments の 1 つで、Google マップが画面の一部を占めるようにします。TabActivity 内でビューを切り替える ViewPager があります。私のプロジェクトには、
Android Private Libraries
-Google-play-services.jar -android-support-v4.jar があります
また、マニフェストには一意の API キーがあります。
しかし、マップを保持する必要があるタブを押すと、空の画面が表示されます。
マップを含むフラグメント:
public class MyTripsFragment extends Fragment
{
private SupportMapFragment fragment;
private GoogleMap map;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
try{
return inflater.inflate(R.layout.view_mytrips, container, false);
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
FragmentManager fm = getChildFragmentManager();
fragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
if(fragment == null)
{
fragment = SupportMapFragment.newInstance();
map = fragment.getMap();
fm.beginTransaction().replace(R.id.map, fragment).commit();
}
}
そして、XML(私が読んだものから、フラグメント
を置き換えるときのビューページャー、 IllegalStateExceptionのため、フラグメントを含むべきではありません)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mapContainer">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/map">
</RelativeLayout>
</RelativeLayout>
では、どうすればマップにマップをロードさせることができますか? 私は何か小さなものを見逃していますか、それとも間違った方法で進んでいますか? 私はさまざまなことを試しましたが、私が望むものは何も得られません。