如何在Android中以编程方式创build菜单?

现在我想在屏幕底部添加一个菜单。 我写了很多关于,但仍然没有得到如何做到这一点。 我的主要问题是,我没有在我的主页上的XML文件。 它的样子喜欢:

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); 

我怎样才能添加一个行动的菜单。 请给我一个例子。 谢谢

Related of "如何在Android中以编程方式创build菜单?"

如果你没有在你的主要活动中的XML文件,它的罚款。 您仍然可以通过执行以下步骤来添加菜单 – >

  1. 创build一个android的XML文件,并selecttypes的菜单(它将被存储在res文件夹的菜单子文件夹下)。
  2. 现在在你的主要活动代码中添加这两个方法 – >

     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; } 

使用此代码dynamic添加菜单

 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; } 

您只需添加一个上下文菜单

  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"); } }); 

上下文菜单只是长时间出现在列表项上

对于选项菜单

创build一个你在选项菜单中膨胀的android xml文件

 @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 

那么如何打开对话框呢? 恩。 当点击关于,对话框打开说:由XXX,字体16和访问:“http://www.xxx.xxx”作为超链接&#xFF1F;

使用此代码:

 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; }