Android入门之Menu动态修改(纯Java)


      
  1. import Android.app.Activity;  
  2. import android.os.Bundle;  
  3. import android.view.Menu;  
  4. import android.view.MenuItem;  
  5. import android.widget.*;  
  6.   
  7. public class MenuModeTest extends Activity {  
  8.       
  9.     private TextView tv=null;  
  10.     private MenuItem mi1=null;  
  11.     private MenuItem mi2=null;  
  12.     private MenuItem mi3=null;  
  13.       
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         tv=new TextView(this);  
  17.         tv.setText("动态菜单,菜单选项可修改");  
  18.         setContentView(tv);  
  19.     }  
  20.       
  21.     public boolean onCreateOptionsMenu(Menu menu){  
  22.         mi1=menu.add(0,11"菜单1");  
  23.         mi2=menu.add(0,22"菜单2");  
  24.         mi3=menu.add(0,33"修改");  
  25.         return super.onCreateOptionsMenu(menu);  
  26.     }  
  27.       
  28.     public boolean onOptionsItemSelected(MenuItem item){  
  29.         switch(item.getItemId()){  
  30.         case 1:  
  31.             tv.setText("你按下了菜单1");break;  
  32.         case 2:  
  33.             tv.setText("你按下了菜单2");break;  
  34.         case 3:  
  35.             modeMenu();break;  
  36.         default: tv.setText("xxx");  
  37.         }  
  38.         return false;  
  39.     }  
  40.       
  41.     public void modeMenu(){  
  42.         mi1.setIcon(R.drawable.icon);  
  43.         mi2.setTitle("2菜单");  
  44.         mi3.setEnabled(false);  
  45.           
  46.         /*菜单选项操作*/  
  47.         /* 
  48.         mi1.setEnabled(enabled) 
  49.         mi1.setIcon(icon) 
  50.         mi1.setTitle(title) 
  51.         */  
  52.   
  53.         /*菜单整体主要操作*/  
  54.         /* 
  55.         menu.add() 
  56.         menu.addSubMenu()    
  57.         menu.removeGroup(groupId) 
  58.         menu.removeItem(id) 
  59.         menu.setGroupEnabled(group, enabled) 
  60.         menu.setGroupVisible(group, visible) 
  61.         */  
  62.     }  
  63. }  

相关内容