커니님의 블로그에서 본 뷰에 표시되는 내용 캡쳐하는 소스인데요

captureButton.setOnClickListener(this);
public void onClick(View v) {
  container.buildDrawingCache();
  Bitmap captureView = container.getDrawingCache();
  FileOutputStream fos;
  try {
   fos = new FileOutputStream(Environment.getExternalStorageDirectory().toString()+"/capture.jpeg");
   captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos);
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
  Toast.makeText(getApplicationContext(), "Captured!", Toast.LENGTH_LONG).show();
 }
위와 같이 버튼을 눌러서 하지 않고

옵션메뉴를 클릭해서 하려는데 무엇이 문제인지 모르겠습니다 ㅠㅠ
R.id.main 으로 하지 않고 new MyView(this) 로 해서 버튼을 만들수가 없거든요
MyView 전체를 캡쳐하고 싶은데 이부분을 어떻게 처리해야 할지요 ㅠㅠ
아래와 같이 했더니 되지 않습니다
case문 부분을 봐주세요ㅠㅠ
public class Main extends Activity {
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }
        
public class MyView extends View {
             
  public MyView(Context context) {
   super(context);
  }
  Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.gingerdroid);
        protected void onDraw(Canvas canvas) {
            canvas.drawBitmap(bm, 0, 0, null);
        }       
    } 
 private static final int SAVE_MENU_ID = Menu.FIRST;
 
 public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);       
        menu.add(0, SAVE_MENU_ID, 0, "Save").setShortcut('3', 'c');
        return true;
    }
    
    public boolean onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
        return true;
    }
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case SAVE_MENU_ID:
             View MyView = new MyView(null);
             MyView.buildDrawingCache();
          Bitmap captureView = MyView.getDrawingCache();
          FileOutputStream fos;
          try {
           fos = new FileOutputStream(Environment.getExternalStorageDirectory().toString()+"/capture2.jpeg");
           captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos);
          } catch (FileNotFoundException e) {
           e.printStackTrace();
          }
          Toast.makeText(getApplicationContext(), "Captured!", Toast.LENGTH_LONG).show();
                
                return true;   
        }
        return super.onOptionsItemSelected(item);
    }
}