3

古いアプリを持っていて、マップを追加するために更新しようとしています。Eclipse でワークスペースに追加され、プロジェクトでライブラリ参照として作成された Google サービス。マニフェストに追加されたマップキーと権限。

多くのチュートリアルを読みましたが、次の問題を解決できません。

08-12 21:40:28.275: E/cutils-trace(771): Error opening trace file: No such file or directory (2)
08-12 21:40:33.435: E/AndroidRuntime(771): FATAL EXCEPTION: main
08-12 21:40:33.435: E/AndroidRuntime(771): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.data/com.example.data.activity.MapsActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.os.Looper.loop(Looper.java:137)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.ActivityThread.main(ActivityThread.java:5103)
08-12 21:40:33.435: E/AndroidRuntime(771):  at java.lang.reflect.Method.invokeNative(Native Method)
08-12 21:40:33.435: E/AndroidRuntime(771):  at java.lang.reflect.Method.invoke(Method.java:525)
08-12 21:40:33.435: E/AndroidRuntime(771):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-12 21:40:33.435: E/AndroidRuntime(771):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-12 21:40:33.435: E/AndroidRuntime(771):  at dalvik.system.NativeStart.main(Native Method)
08-12 21:40:33.435: E/AndroidRuntime(771): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
08-12 21:40:33.435: E/AndroidRuntime(771):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.Activity.setContentView(Activity.java:1895)
08-12 21:40:33.435: E/AndroidRuntime(771):  at com.example.data.activity.MapsActivity.onCreate(MapsActivity.java:22)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.Activity.performCreate(Activity.java:5133)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
08-12 21:40:33.435: E/AndroidRuntime(771):  ... 11 more
08-12 21:40:33.435: E/AndroidRuntime(771): Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.support.v4.app.Fragment.instantiate(Fragment.java:402)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.support.v4.app.Fragment.instantiate(Fragment.java:377)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:277)
08-12 21:40:33.435: E/AndroidRuntime(771):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
08-12 21:40:33.435: E/AndroidRuntime(771):  ... 21 more

マイ アクティビティ:

package com.example.data.activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import com.example.data.R;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsActivity extends FragmentActivity {
  private LatLng frameworkSystemLocation = new LatLng(-19.92550, -43.64058);
  private GoogleMap map;

  @Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map);
    map =   ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

    Marker frameworkSystem = map.addMarker(new MarkerOptions()
                                           .position(frameworkSystemLocation)
                                           .title("Framework System"));
 // Move a câmera para Framework System com zoom 15.
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(frameworkSystemLocation , 15));
    map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
  }

}

私のxmlレイアウトファイル:

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout>

誰も解決方法を知っていますか?

4

1 に答える 1

14

XML レイアウトのマップも変更しましたか?

次のようになります。

<fragment
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="8dp" />
于 2013-08-13T13:09:47.073 に答える