Q:

why I cant access a public method from a class? (java)

I have the following method in  MapViewActivity.java   
 public void startMapEditActivity() {
        Intent intent = new Intent(MapViewActivity.this, MapEditActivity.class);
        intent.putExtra(EXTRA_MESSAGE_FLOOR, mSelectedMap);
        startActivity(intent); // start map edit mode
    }

I'm trying to access the method from MapActivity.java as:
startMapEditActivity();

but it doesn't work that way it throws the following message:
The method startMapEditActivity() is undefined for the type MapActivity

A:

change your usage to a static method with a parameter of context and pass whatever mSelectedMap is too, this way you can use this one method in your entire app to start this activity by passing in a valid context (like an activity) and the info that is represented by mSelectedMap:
static public void startMapEditActivity(final Context context, boolean mSelectedMap) {
    Intent intent = new Intent(context, MapEditActivity.class);
    intent.putExtra(EXTRA_MESSAGE_FLOOR, mSelectedMap);
    startActivity(intent); // start map edit mode
}

Example Usage (from a view clicklistener):
    setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            MapEditActivity.startMapEditActivity(view.getContext(), aSelectedMapObject);
        }
    }));

Example usage from some method in MapViewActivity:
  private void gotoMapEditActivity(){
      MapEditActivity.startMapEditActivity(MapViewActivity.this, aSelectedMapObject);
  }

