3

v10APIを対象とするAndroidプロジェクトでGoogleMapsAPIv2を使用しようとしています。開発ガイドを読むと、フラグメントはandroid api 11でのみ導入されているため、APIを使用するにはAndroidサポートライブラリを使用する必要があると言われています。

だから私は次のことをしました:
-私のプロジェクトにandroidサポートライブラリv4 jarを
含めました-「google-play-services-lib」ライブラリプロジェクトを含めてそれを参照しました
-開発ガイドから取った次のコードを書きました:

package com.darco.darcoapp;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;

public class CardJourneyActivity extends FragmentActivity{
    private GoogleMap myGoogleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_card_journey);

        FragmentManager fm = getSupportFragmentManager();
        Fragment fr = fm.findFragmentById(R.id.mapFragmentCardJourney);
        MapFragment mf = (MapFragment)fr; //this line causes the compilation error

    }

コメントが指摘しているように、問題はコードの最後の行で発生します。追加すると、Eclipseに次のエラーが表示されます(その行ではなく、ファイルの先頭にあります)。

The type android.app.Fragment cannot be resolved. It is indirectly referenced from required .class files

Eclipseはプロジェクトのコンパイルを拒否します。

プロジェクトのセットアップで考えられるすべての構成を試しましたが、何かがうまくいかない可能性があります...何が間違っているのでしょうか。私はオンラインで同様の問題を抱えているものを見つけましたが、解決策がないか、少なくとも彼らが提案した解決策が私のために働いていませんでした。

4

1 に答える 1

7

Androidサポートパッケージのフラグメントバックポートを使用している場合は、SupportMapFragmentではなくを使用してください。MapFragment

于 2012-12-22T14:08:55.990 に答える