Tab 구성.

		TabSpec ts1 = tab_host.newTabSpec("today");
		ts1.setIndicator("Today");
		ts1.setContent(imageView.getId());
		tab_host.addTab(ts1);

		TabSpec ts2 = tab_host.newTabSpec("favorite");
		ts2.setIndicator("Favorites");
		initFavoriteViewTab();
		ts2.setContent(R.id.secondTab);
		tab_host.addTab(ts2);


	
	private final int SEARCH = 100;
	private final int REMOVE = 200;

	@Override
	public boolean onPrepareOptionsMenu(Menu menu){
		Log.w("check", "tab_host.getCurrentTab(); : "+tab_host.getCurrentTab());
		Log.w("check", "tab_host.getCurrentTabTag() : "+tab_host.getCurrentTabTag());
		Log.w("check", "tab_host.getCurrentView() : "+tab_host.getCurrentView().getContext().toString());
		
		menu.clear();
		MenuItem itemAdd;
		int tabIdx = tab_host.getCurrentTab();
		switch (tabIdx) {
		case 0:
			itemAdd = menu.add(0, SEARCH, Menu.NONE, "검색").setIcon(android.R.drawable.ic_menu_search);
			itemAdd.setShortcut('0', 'a');
			break;
		case 1:
			itemAdd = menu.add(0, REMOVE, Menu.NONE, "제거").setIcon(android.R.drawable.ic_delete);
			itemAdd.setShortcut('1', 'b');
			break;
		}
		return true;
	}

onPrepareOptionsMenu에서 탭의 Tag 또는 index를 이용하여 각 탭에 맞게 메뉴를 구성할 수 있다.


각 메뉴의 클릭 처리 역시 itemId를 이용하여 로직을 구성해준다.
	
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		super.onContextItemSelected(item);
		Log.w("check", "item.getItemId() : "+item.getItemId());
		switch(item.getItemId()){
			case (SEARCH):{
				// do something
			}
			case (REMOVE) :
				// do something
			break;
		}
		return false;
	}

+ Recent posts