1

ということで、断片をまとめてみました。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>  

では、どうすればマップにマップをロードさせることができますか? 私は何か小さなものを見逃していますか、それとも間違った方法で進んでいますか? 私はさまざまなことを試しましたが、私が望むものは何も得られません。

4

0 に答える 0