hi Guillaume
    it seems I can't still work it out. log click got no response as
before. below is the code and xml files.
package android.demo;
import com.google.android.maps.MapActivity;
import android.os.Bundle;
import com.google.android.maps.MapView;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.View;
import android.util.*;
public class demo extends MapActivity {
    /** Called when the activity is first created. */
        MapView mapView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mapView = (MapView) findViewById(R.id.mapview1);
        // We also want to show context menu for longpressed items in
the gallery
      //init the map view
        mapView.setLongClickable(true);
        registerForContextMenu(mapView);

    }


    public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
                  menu.setHeaderTitle("Menu");
              menu.add(0, 1, 0, "Add");
              menu.add(0, 2, 0, "Delete");
              menu.add(0, 3, 0, "Edit");
           }
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_Z) {
                mapView.getController().zoomIn();
                return true;
        } else if (keyCode == KeyEvent.KEYCODE_X) {
                mapView.getController().zoomOut();
                return true;
        }

        return super.onKeyDown(keyCode, event);
}

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <com.google.android.maps.MapView
    android:id="@+id/mapview1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:longClickable="true"
    android:clickable="true"
    android:apiKey="0xliHXBcaVPd0uSCbaQpTRJRFCgsjKu7z0Gsjsw" />

</LinearLayout>


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android";
      package="android.demo"
      android:versionCode="1"
      android:versionName="1.0.0">
      <uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"></uses-
permission>

      <uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-
permission>
      <uses-permission android:name="android.permission.INTERNET"></
uses-permission>


    <application android:icon="@drawable/icon" android:label="@string/
app_name">
              <uses-library android:name="com.google.android.maps" />

        <activity android:name=".demo"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category
android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

On 12月26日, 下午9时56分, "Guillaume Perrot" <[email protected]>
wrote:
> I have the same kind of code, which is working though.
> The key difference may be that I call mapView.setLongClickable(true); you
> should try it.
>
> 2008/12/26 [email protected] <[email protected]>
>
>
>
>
>
>
>
> > hi Guillaume
> >    Thanks for your response. I tried to override the
> > onCreateContextMenu directly in MapActivity. The result is the same as
> > the above. Below is the source code.
> > package android.demo;
> > import com.google.android.maps.MapActivity;
> > import android.os.Bundle;
> > import com.google.android.maps.MapView;
> > import android.view.ContextMenu;
> > import android.view.KeyEvent;
> > import android.view.View;
> > import android.util.*;
> > public class demo extends MapActivity {
> >    /** Called when the activity is first created. */
> >        MapView mapView;
> >    @Override
> >    public void onCreate(Bundle savedInstanceState) {
> >        super.onCreate(savedInstanceState);
> >        setContentView(R.layout.main);
> >        mapView = (MapView) findViewById(R.id.mapview1);
> >        // We also want to show context menu for longpressed items in
> > the gallery
> >      //init the map view
> >        registerForContextMenu(mapView);
>
> >    }
> >    public void onCreateContextMenu(ContextMenu menu, View v,
> > ContextMenu.ContextMenuInfo menuInfo) {
> >                  menu.setHeaderTitle("Menu");
> >              menu.add(0, 1, 0, "Add");
> >              menu.add(0, 2, 0, "Delete");
> >              menu.add(0, 3, 0, "Edit");
> >           }
> >    public boolean onKeyDown(int keyCode, KeyEvent event) {
> >        if (keyCode == KeyEvent.KEYCODE_Z) {
> >                mapView.getController().zoomIn();
> >                return true;
> >        } else if (keyCode == KeyEvent.KEYCODE_X) {
> >                mapView.getController().zoomOut();
> >                return true;
> >        }
>
> >        return super.onKeyDown(keyCode, event);
> > }
>
> >    @Override
> >    protected boolean isRouteDisplayed() {
> >        // TODO Auto-generated method stub
> >        return false;
> >    }
> > }
>
> > On 12月26日, 下午8时14分, Guillaume Perrot <[email protected]> wrote:
> > > Why don't you override the onCreateContextMenu directly in
> > > MapActivity ?
>
> > > On Dec 26, 10:15 am, "[email protected]" <[email protected]>
> > > wrote:
>
> > > > hi all
> > > >     I want to create a context menu when LongClick is hitted. As
> > > > result mapview is opened successfully; but the LongClick got no
> > > > response. Would you like to give me a hand how to solve it? Below is
> > > > the complete code. Thank you very much.
>
> > > > package android.demo;
> > > > import com.google.android.maps.MapActivity;
> > > > import android.os.Bundle;
> > > > import com.google.android.maps.MapView;
> > > > import android.view.ContextMenu;
> > > > import android.view.View;
> > > > import android.util.*;
> > > > public class demo extends MapActivity {
> > > >     /** Called when the activity is first created. */
> > > >         MapView mapView;
> > > >     @Override
> > > >     public void onCreate(Bundle savedInstanceState) {
> > > >         super.onCreate(savedInstanceState);
> > > >         setContentView(R.layout.main);
> > > >         mapView = (MapView) findViewById(R.id.mapview1);
> > > >         // We also want to show context menu for longpressed items in
> > > > the gallery
> > > >       //init the map view
>
> > > >         mapView.setOnLongClickListener(new View.OnLongClickListener(){
>
> > > >         public boolean onLongClick(View v) {
> > > >         mapView.showContextMenu();
> > > >         return true;
> > > >         }
>
> > > >         });
>
> > > >         mapView.setOnCreateContextMenuListener(new
> > > > View.OnCreateContextMenuListener() {
> > > >         public void onCreateContextMenu(ContextMenu menu, View v,
> > > > ContextMenu.ContextMenuInfo menuInfo) {
> > > >                   menu.setHeaderTitle("Menu");
> > > >               menu.add(0, 1, 0, "Add");
> > > >               menu.add(0, 2, 0, "Delete");
> > > >               menu.add(0, 3, 0, "Edit");
> > > >            }
> > > >         });
>
> > > >         registerForContextMenu(mapView);
>
> > > >     }
>
> > > >     @Override
> > > >     protected boolean isRouteDisplayed() {
> > > >         // TODO Auto-generated method stub
> > > >         return false;
> > > >     }
>
> > > > }- 隐藏被引用文字 -
>
> > > - 显示引用的文字 -
>
> --
> Guillaume Perrot
> Software Engineer at Ubikod
> BuddyMob developer- 隐藏被引用文字 -
>
> - 显示引用的文字 -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to