[MenuTest]

|

메뉴 생성하기
1. static final로 itemid를 만든다.
2. onCreateOptionMenu(Menu menu)를 오버라이드하여 menu.add()로 메뉴를 추가한다.
3. onOptionsItemSelected(MenuItem item)를 오버라이드하여 메뉴와 액션을 연결한다.

컨텍스트 메뉴 생성하기
1. static final로 itemid를 만든다.
2. onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo info)를 오버라이드하여 menu.add()로 메뉴를 추가한다.
3. onContextedItemSelected(MenuItem item)를 오버라이드하여 메뉴와 액션을 연결한다.
4. 메뉴를 출력하고자 하는 View의 아이디를 지정한다.
4. onCreate(Bundle savedInstanceState)에 registerForContextMenu(View view)로 컨텍스트 메뉴를 등록한다.

MenuTest.java
package net.itisn.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.TextView;
import android.widget.AdapterView.AdapterContextMenuInfo;

public class MenuTest extends Activity {
    /** Called when the activity is first created. */
	static final int MENU_NEW_GAME = 0;
	static final int MENU_QUIT = 1;
	static final int EDIT_ID = 2;
	static final int DELETE_ID = 3;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //기본 생성되는 TextView는 id가 없다. 따라서 id를 적어 주어야 한다.
        //@+id/TextView01
	registerForContextMenu(this.findViewById(R.id.TextView01));
    }

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		menu.add(0, MENU_NEW_GAME, 0, "New Game");
		menu.add(0, MENU_QUIT, 0, "Quit").setIcon(R.drawable.icon);
		
		return super.onCreateOptionsMenu(menu); //equals to return true.
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		switch(item.getItemId()) {
		case MENU_NEW_GAME:
			//newGame();
			return true;
		case MENU_QUIT:
			//quit();
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) {
		// TODO Auto-generated method stub
		menu.add(0, EDIT_ID, 0, "Edit");
		menu.add(0, DELETE_ID, 0, "Delete");
		super.onCreateContextMenu(menu, v, menuInfo);
	}

	@Override
	public boolean onContextItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
		switch (item.getItemId()) {
		case EDIT_ID:
			//editNote(Info.id);
			return true;
		case DELETE_ID:
			//deleteNote(Info.id);
		default:
			return super.onContextItemSelected(item);
		}
	}
	
}


-

'Android' 카테고리의 다른 글

[AlertDialog2]  (0) 2010.08.19
[AlertDialog]  (0) 2010.08.18
[ImageView]  (0) 2010.08.17
[LifeCycle]  (0) 2010.08.17
[ShapeEx]  (0) 2010.08.16
And