Tuesday, January 15, 2013

[Android] PopMenu

版本至少要3.0以上(API 11)


package com.example.popmenu;




import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.PopupMenu;

import android.widget.TextView;



public class MainActivity extends Activity {



@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);



final TextView text = (TextView) this.findViewById(R.id.textView1);

Button buttonPopMenu = (Button) this.findViewById(R.id.startpopupmenu);

buttonPopMenu.setOnClickListener(new OnClickListener(){



@Override

public void onClick(View v) {

// TODO Auto-generated method stub



PopupMenu popMenu = new PopupMenu(MainActivity.this, v);

popMenu.getMenuInflater().inflate(R.menu.popupmenu, popMenu.getMenu());

popMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {



@Override

public boolean onMenuItemClick(MenuItem item) {

// TODO Auto-generated method stub

//Do something...

switch(item.getItemId()){

case R.id.menu1:

text.setText("Number 1");

break;

case R.id.menu2:

text.setText("Number 2");

break;

case R.id.menu3:

text.setText("Number 3");

break;

}



return false;

}

});



popMenu.show();

}});







}



@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}



}

No comments:

Post a Comment