マップ上で特定のアイテムを表示するのが困難です。ユーザーがポイントをクリックすると、その上にカウンターのあるオブジェクトを配置したいと思います。この方法を使用して、テキストビューを使用してドローアブルに変換することを考えていましたが、機能しません。私が試したのは次のようになります:
xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ... >
<TextView
android:id="@+id/object"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableBottom="@drawable/car"
android:text="Human 1,2..." /> <!-- Here should be the counter modified programatically -->
</LinearLayout>
コード:
public boolean onTouchEvent(MotionEvent e, MapView m) {
....
CustomPinPoint custom = new CustomPinPoint(getHuman(), Main.this);
}
private Drawable getHuman() {
Bitmap snapshot = null;
Drawable drawable = null;
LayoutInflater li = Main.this.getLayoutInflater();
View view = li.inflate(R.layout.human, null); //human is the layout
view.setDrawingCacheEnabled(true);
view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
try {
snapshot = Bitmap
.createBitmap(view.getDrawingCache());
drawable = new BitmapDrawable(snapshot);
} finally {
view.setDrawingCacheEnabled(false);
}
return drawable;
}
現在、私はnullポインタを取得していますBitmap.createBitmap(view.getDrawingCache());
。ディメンションで試してみましたが、まだ成功していません。誰かが私が間違っていることを教えてもらえますか? または、テキストビューから描画可能にする別の方法がある場合は?
よろしくお願いします、コスミン。