Android: Greifen Sie mit ViewPager auf Mapview Inside Fragment zu

Ich verwende View Pager, um drei Ansichten anzuzeigen.

"Filter","Streets","Around"

Jede Ansicht wird durch Fragment definiert.

WAS ICH MÖCHTE : Ich möchte Mapview in meinem FilterFragment verwenden.

WAS HABE ICH GETAN :

Ich möchte MapView Inside Filter Fragment verwenden, konnte aber nicht erfolgreich ausgeführt werden. und Protokollierungsfehler abrufen:

android.view.InflateException: Binary XML file line #33: Error inflating class com.google.android.maps.MapView

Ich habe auch über Net und Stackoverflow nach diesem Problem gesucht und das gefundenVERKNÜPFUNG undVERKNÜPFUNG Dieser Link konnte nicht gefunden werden. Bezieht sich auf mein Problem, da ich Fragment mit ViewPager verwende.

Ich habe meinen Code wie folgt angegeben.

Hier ist mein Code für MainViewPager.java:

    package com.example.viewpageractivitydemo;

    import com.example.viewpageractivitydemo.viewpager.TitlePageIndicator;

    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.view.ViewPager;
    import android.util.Log;

    public class MainViewPager extends FragmentActivity {

        TestFragmentAdapter adapter;
        ViewPager pager;

        @Override
        protected void onCreate(Bundle arg0) {
            // TODO Auto-generated method stub
            super.onCreate(arg0);
            Log.i("MainViewPager","Inside Oncreate");
            setContentView(R.layout.mainviewpager);
            pager = (ViewPager) findViewById(R.id.pager);

            adapter = new TestTitleFragmentAdapter(getSupportFragmentManager());
            pager.setAdapter(adapter);

            TitlePageIndicator indicator = (TitlePageIndicator) findViewById(R.id.indicator);
            indicator.setViewPager(pager);
            pager.setCurrentItem(1);

        }

        @Override
        protected void onResume() {
            // TODO Auto-generated method stub
            super.onResume();

    //      pager.setCurrentItem(1);
        }

    }

Hier ist Code für TestFragmentAdapter.java

package com.example.viewpageractivitydemo;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.util.Log;

public class TestFragmentAdapter extends FragmentPagerAdapter {

    protected static final String[] CONTENT = new String[] { "Filter",
            "Streets", "Around" };
    public String TAG = "TestFragmentAdapter";
    private int mCount = CONTENT.length;

    public TestFragmentAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int position) {
        // TODO Auto-generated method stub
        Log.i(TAG, "Inside getItemMethod with position " + position);

        if (position == 0) {
            Log.i("TestFragmentAdapter","Inside if Condition");
            return FilterFragment.newInstance(position);
        } else if (position == 1) {
            return StreetsFragment.newInstance(position);
        } else if (position == 2) {
            return AroundFragment.newInstance(position);
        } else {
            return null;
        }
        // return MainFragment.newInstance(CONTENT[position % CONTENT.length]);

    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mCount;
    }

    public void setCount(int count) {
        if (count > 0 && count <= 10) {
            mCount = count;
            notifyDataSetChanged();
        }
    }

}

Hier ist mein Code für FilterFragment.java:

package com.example.viewpageractivitydemo;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FilterFragment extends Fragment {

    /*
     * @Override protected Class<? extends Activity> getActivityClass() { //
     * TODO Auto-generated method stub return MyFilterActivity.class; }
     */

    public static Fragment newInstance(int position) {

        Log.i("FilterFragment","Inside New Instasnce");
        FilterFragment filterFragment = new FilterFragment();
        return filterFragment;

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        Log.i("FilterFragment","Inside OcCreateView");
        View view = inflater.inflate(R.layout.filter, null);
        return view;
    }

}

Hier ist mein Code für filter.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#C6CDD4"
    android:gravity="center"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#93A4BA"
            android:gravity="center" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_margin="5dp"
                android:gravity="center"
                android:text="Where Am I"
                android:textColor="#ffffff"
                android:textSize="18dp"
                android:textStyle="bold" >
            </TextView>
        </LinearLayout>

        <com.google.android.maps.MapView
            android:id="@+id/whereami_mapview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:apiKey="0-PaH6rk7RKrZSMd_lqdrZi6FazYyIlX5r6YFyA"
            android:clickable="true" />

        <!--
             <com.google.android.maps.MapView
            android:id="@+id/whereami_mapview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:apiKey="0-PaH6rk7RKrZSMd_lqdrZi6FazYyIlX5r6YFyA" />



        -->
    </LinearLayout>

</LinearLayout>

Bitte kann mir jemand eine Antwort vorschlagen, um mein Problem zu lösen. Ich habe viele Stunden damit verbracht. Immer noch keine Ahnung von meiner Frage. Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage