Menus e sub-menus ActionBar

Galera, tenho esse código:

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.view.MenuItem;

public class MainFragments extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main_fragments);
    }
	
	@Override
	public boolean onCreateOptionsMenu(android.view.Menu menu){
		MenuItem m1 = menu.add(0, 0, 0, "Alterar Texto do Frag 2");
		m1.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
		
		MenuItem m2 = menu.add(0, 1, 0, "Teste");
		m2.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
		
		return super.onCreateOptionsMenu(menu);
	}
	
	@Override
	public boolean onMenuItemSelected(int featureId, MenuItem item){
		FragmentManager fm = getFragmentManager();
		switch (item.getItemId()){
		case 0:
			// Demonstra o método "findFragmentById"
			Fragment2 frag2 = (Fragment2) fm.findFragmentById(R.id.frag2);
			frag2.setTexto("Texto Atualizado!");
			break;
		}
		return true;
	}
	
}

Gostaria de fazer um Menu de Opções na ActionBar, tipo:

Menu de Opções (Na barra principal):
opção 1 (ao clicar no Menu de Opções)
opção 2 (ao clicar no Menu de Opções)
opções

Como que faço isso? E uma opção com sub-menu.

Alguém pra ajudar?

Procure um artigo de como crialos via XML, dai nesse caso basta ter um child menu dentro deo menu-item.

Alguém teria algum link ou exemplo para passar?

Estou precisando disso.

Alguém teria um link de artigo ou exemplo para criar Menus e sub-menus na ActionBar?

Cara, não sou desses, mas ta ai seu link.

Galera, tenho esse exemplo?

Principal

package in.wptrafficanalyzer.actionbarmenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    	MenuInflater inflater = getMenuInflater();
    	inflater.inflate(R.menu.items, menu);
    	
    	return super.onCreateOptionsMenu(menu);
    }
    
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    	
    	super.onOptionsItemSelected(item);
    	
    	switch(item.getItemId()){
	    	case R.id.phone:
	    		Toast.makeText(getBaseContext(), "You selected Phone", Toast.LENGTH_SHORT).show();
	    		break;
	    	
	    	case R.id.computer:
	    		Toast.makeText(getBaseContext(), "You selected Computer", Toast.LENGTH_SHORT).show();
	    		break;
	    		
	    	case R.id.gamepad:
	    		Toast.makeText(getBaseContext(), "You selected Gamepad", Toast.LENGTH_SHORT).show();
	    		break;
	    		
	    	case R.id.camera:
	    		Toast.makeText(getBaseContext(), "You selected Camera", Toast.LENGTH_SHORT).show();
	    		break;
	    		
	    	case R.id.video:
	    		Toast.makeText(getBaseContext(), "You selected Video", Toast.LENGTH_SHORT).show();
	    		break;
	    		
	    	case R.id.email:
	    		Toast.makeText(getBaseContext(), "You selected EMail", Toast.LENGTH_SHORT).show();
	    		break;
	    		
    	}
    	
    	return true;
    	
    }
    
    
}

Menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
        android:id="@+id/phone"
        android:title="@string/phone"
        android:icon="@drawable/phone"
        android:showAsAction="ifRoom|withText"        
    />
    
    <item 
        android:id="@+id/computer"
        android:title="@string/computer"
        android:icon="@drawable/computer"
        android:showAsAction="ifRoom|withText"        
    />
    
    <item 
        android:id="@+id/gamepad"
        android:title="@string/gamepad"
        android:icon="@drawable/gamepad"
        android:showAsAction="ifRoom|withText"        
    />
    
    <item 
        android:id="@+id/camera"
        android:title="@string/camera"
        android:icon="@drawable/camera"
        android:showAsAction="ifRoom|withText"        
    />
    
    <item 
        android:id="@+id/video"
        android:title="@string/video"
        android:icon="@drawable/video"
        android:showAsAction="ifRoom|withText"        
    />
    
    <item 
        android:id="@+id/email"
        android:title="@string/email"
        android:icon="@drawable/email"
        android:showAsAction="ifRoom|withText"        
    />

</menu>

Strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">MainActivity</string>
    <string name="app_name">ActionBarMenu</string>    
    
    <string name="phone">Phone</string>
    <string name="computer">Computer</string>
    <string name="gamepad">Gamepad</string>
    
    <string name="camera">Camera</string>
    <string name="video">Video</string>
        
    <string name="email">EMail</string>

</resources>

Não está aparecendo os tres pontos na barra, só aparecem as opções se clico no Menu do Emulador.

No AVD tenho a API 15, o que pode estar acontecendo?

link que segui:
http://wptrafficanalyzer.in/blog/adding-action-items-and-overflow-menu-items-to-action-bar-in-android/

Isso acontece pq o emulador tem os botões físicos para vc pressionar. Experimente testar seu aplicativo em um dispositivo real, e note que os 3 pontos irão aparecer.

Mas pq que no meu note com a API 17 aparece?

Teria como tirar os tres pontos e colocar um ícone?

Acredito que não, pois a Actionbar tem um limite de ícones que podem ser colocados como menu. Se passar desse limite, os 3 pontos irão aparecer, indicando que existem mais menus para selecionar. Não lembro onde vi isso, mas era uma página no site Android Developers.

Aqui está: ActionBar Patterns

Gostaria que ficasse do jeito que esta nesse post:

http://www.guj.com.br/java/304641-ajuda-com-actionbarsherlock-novato

Sem ser a ActionBarSherlock.

É simples: só não adicionar a Actionbar Sherlock no projeto.

Estou usando o ActionBar original, não é a Sherlock, entendeu?

Não estou entendendo, mudei para a mesma api que está no note aqui no meu pc, API

<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17"/>

Só que no note é Windows 8 e no pc Windows 7. No note aparece os 3 pontos e no pc não.

Ta estranho. Existe diferença se rodar no Win 7 ou Win 8?

No note aparece os 3 pontos, e no pc só aparece clicando em Menu do emulador. As API’s são as mesmas, criei um AVD igual ao note.

Alguém pra ajudar? Não sei pq no Windows 8 aparece os 3 pontos com os menus na própria barra e no 7 aparece na parte debaixo somente se pressionar o Menu do emulador.

Alguém??

To precisando de uma ajudinha, alguém poderia me ajudar nisso?

Alguém podia dar uma força? O código ta funcionando, só queria entender porque no Windows 7 funciona de um jeito e no Windows 8 de outro. No Windows 7 tem que clicar no botão Menu, para aparecer as outras opções, no Windows 8 aparece os 3 pontos.