3

問題に関するコードとは異なるコードを投稿したため、この問題に関する最後の質問を破棄したので、正しいコードで再試行します...

これが取引です。Android用のGoogleMapsAPIを使用していくつかのテストを実行しており、画像の1つを使用してマップにCustomItemizedOverlayを設定しようとしたときに、getDrawableを使用して画像にアクセスしていることに気付きました。 eclipse自体が、アクセスしたいドローアブルを選択するときにctrl + backspaceを使用すると、画像がそこにあることを示していても、nullを返していました:/

このため、私は何時間も壁を突き抜けて頭をつぶしてきました。ここで何が問題なのかについての手がかりはありますか?

前もって感謝します :)

PS:ctrl + backspaceを使用すると、Eclipseがリソース内の画像を表示することを示す印刷http://img.photobucket.com/albums/v328/thiagoshaman/errordrawable.png

コード:

import java.util.List;

import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

public class MapHandlerActivity extends MapActivity {


private MapView mapView;
private static final int latitudeE6 = 37985339;
private static final int longitudeE6 = 23716735;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);
    setContentView(R.layout.maphandler);

    mapView = (MapView) findViewById(R.id.map_view);      
    mapView.setBuiltInZoomControls(true);

    List<Overlay> mapOverlays = mapView.getOverlays();
    Resources res = this.getResources();
    Drawable drawable = res.getDrawable(R.drawable.android_tiny_image);
    CustomItemizedOverlay itemizedOverlay = new CustomItemizedOverlay(drawable, this);
    GeoPoint point = new GeoPoint(latitudeE6, longitudeE6);
    OverlayItem overlayItem = new OverlayItem(point, "Olá", "Estou em Athena, Grécia!");

    itemizedOverlay.addOverlay(overlayItem);
    mapOverlays.add(itemizedOverlay);

    MapController mapController = mapView.getController();

    mapController.animateTo(point);
    mapController.setZoom(6);
}
@Override
protected boolean isRouteDisplayed() {
    return true;
}

}

4

3 に答える 3

3

すべてのドローアブル品質フォルダ(drawable-hdpi / drawable-ldpiなど)に画像を入れてみてください

使用しているエミュレーターまたはデバイスの密度が異なり、別のフォルダーからイメージをプルしようとしている可能性があります。

于 2012-06-01T16:07:53.217 に答える
0

入れてみてください

import your.project.package.R;

あなたの輸入品で、そしてあなたのRが

R.drawable.android_tiny_image

それを指しています

于 2012-06-01T15:12:46.850 に答える
0

私もこの問題に遭遇し、 Resources.getDrawable()を正しく理解していれば、ドキュメントに問題の説明があるようです

于 2012-11-23T14:10:10.123 に答える