Would you like to answer me one more question? It seems the context
menu is too broad. Would you like to let me know how to set it
wrap_content? Thank you very much.

On 12月27日, 下午4时31分, "honglian...@gmail.com" <honglian...@gmail.com>
wrote:
> hi Guillaume
>     I got it. Thanks for your valuable response. I also implemented it
> in overlay.
>
> On 12月27日, 上午12时06分, "Guillaume Perrot" <guillaume.p...@gmail.com>
> wrote:
>
>
>
> > I realized I was calling myself openContextMenu in my code, for tap events
> > on overlays...
> > I don't know how to handle long clicks on the map, sorry.
>
> > 2008/12/26 honglian...@gmail.com <honglian...@gmail.com>
>
> > > 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" <guillaume.p...@gmail.com>
> > > 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 honglian...@gmail.com <honglian...@gmail.com>
>
> > > > > 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 <guillaume.p...@gmail.com> wrote:
> > > > > > Why don't you override the onCreateContextMenu directly in
> > > > > > MapActivity ?
>
> > > > > > On Dec 26, 10:15 am, "honglian...@gmail.com" <honglian...@gmail.com>
> > > > > > 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- 隐藏被引用文字 -
>
> > > > - 显示引用的文字 -
>
> > --
> > 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 android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to