2011-09-06 69 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; 
    } 
相关问题