2011-09-06 57 views
9

現在我想在屏幕底部添加一個菜單。 我寫了很多關於,但仍然沒有得到如何做到這一點。 我的主要問題是我沒有在我的主頁上的XML文件。 其外觀鏈接纔可說:如何在Android中以編程方式創建菜單?

public class start extends ListActivity { 
     static final String[] COUNTRIES = new String[] { 
     "NEWS1", "NEWS2","RADIO"}; 
Intent intent; 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES)); 

     ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
if (((TextView) view).getText().equals("NEWS1")){ 
intent = new Intent(start.this, NewsActivity.class); 

我怎麼能添加菜單與動作。 請給我一個例子。 感謝

+0

選項卡菜單或菜單中,當你按下手機上的菜單按鈕? –

+0

手機上的菜單按鈕 –

回答

6

雅,如果你沒有在您的主要活動的XML文件的罰款。您還可以通過以下步驟,這個菜單添加到它 - >

  1. 創建Android XML文件,並選擇菜單類型(它會得到保存在res文件夾的菜單子文件夾)。
  2. 在主要活動代碼
  3. 現在加上這兩種方法 - >

    public boolean onCreateOptionsMenu(Menu menu){ 
        getMenuInflater().inflate(R.menu.yourmenuxmlfilename, menu); 
        return true; 
    } 
    public boolean onOptionsItemSelected(MenuItem item){ 
        switch(item.getItemId){ 
         case R.id.item1: 
          // what you want to do with first button 
          break; 
         case ..... 
          break; 
        } 
        return true; 
    } 
    
+0

這種方法onCreateOptionsMenu(菜單菜單)從哪裏我需要調用它(從什麼方法來調用它?)?以及如何添加項目菜單? –

+0

只需將此方法添加到您的開始類中,但請記住不要在您的onCreate()方法中添加此方法,而是分別添加它們。並進入菜單XML文件添加項目。這很簡單。 – Rocker

+0

謝謝工作,但項目是黑色的,我不能看到他們在黑色地面上的黑色字體 –

35

使用此代碼添加菜單動態

private static final int NEW_MENU_ID=Menu.FIRST+1; 

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 

     menu.add(0, NEW_MENU_ID, 0, "New"); 

     return true; 
    } 
+0

這裏的'public boolean onPrepareOptionsMenu(Menu menu)'方法有什麼用?刪除它並沒有顯示任何區別。 –

1

的上下文菜單中,您只需要添加

  getListView().setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 

       @Override 
       public void onCreateContextMenu(ContextMenu menu, View v, 
         ContextMenuInfo menuInfo) { 

        menu.setHeaderTitle("Options"); 
        menu.add("Option1"); 
        menu.add("Option2"); 
        menu.add("Option3"); 

       } 
      }); 

上下文菜單只是出現在長按則可在清單項目

-1

對於選項菜單

創建您在選項菜單中

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    new MenuInflater(this).inflate(R.layout.options, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    //and your action for menu item click goes here 
-1

如何打開對話框,然後膨脹的機器人xml文件?恩。當點擊關於時,對話框打開說:由XXX製作,font16並且訪問:「http://www.xxx.xxx」作爲超鏈接?

。隨着這個代碼:

private static final int NEW_MENU_ID=Menu.FIRST+1; 


@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 

     menu.add(0, NEW_MENU_ID, 0, "ABOUT"); 


     return true; 
    } 
相關問題