Как я могу открыть новый макет, когда я нажимаю на текущее местоположение на карте в Android - PullRequest
0 голосов
/ 17 декабря 2011

Я хочу показать новый макет, когда я нажимаю на метод dispatchTap ().Как я могу накачать новый макет при нажатии на текущее местоположение .. Это мой код

    public class CurrentLocationOverlay extends MyLocationOverlay {

    private Context mContext;
    private MapView mMapView;
    private Location mCurrentLocation;
    private MapController myMapController;
    double latitude, longitude;

    public CurrentLocationOverlay(Context context, MapView mapView) {
        super(context, mapView);
        mContext = context;
        mMapView = mapView;
    }

    @Override
    protected boolean dispatchTap() {
        // TODO handle a tap on "my location point", eg. display an option to
        // send SMS, make a call, add a picture to current location point.

            Toast.makeText(mContext, "Suppressing data readout", Toast.LENGTH_SHORT).show();

        return true;
    }
     /*LayoutInflater layoutInflater = (LayoutInflater) 
    mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutParams lp = new MapView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT, p, LayoutParams.WRAP_CONTENT);
LinearLayout view = (LinearLayout)inflater.inflate(R.layout.map_overlay, null);
*/

}![enter image description here][1]

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011
0 голосов
/ 17 декабря 2011

Использовать ViewFlipper.

<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/vf"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <include android:id="@+id/main1" layout="@layout/main1" />
    <include android:id="@+id/main2" layout="@layout/main2" />

</ViewFlipper>

Предположим, main1.xml содержит MapView, а main2.xml содержит макет, который вы хотите отобразить при нажатии на текущее местоположение на карте.

ViewFlipper vf = (ViewFlipper)findViewById(R.id.vf);

Тогдаиспользуйте этот код

@Override
protected boolean dispatchTap() {
    // TODO handle a tap on "my location point", eg. display an option to
    // send SMS, make a call, add a picture to current location point.
    vf.setDisplayChild(1); // to display main2.xml
        Toast.makeText(mContext, "Suppressing data readout", Toast.LENGTH_SHORT).show();

    return true;
}

Я думаю, что это может помочь вам.

...