android 创建选项菜单没有反应。单击menu键时没出现菜单,帮忙看看吧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 创建选项菜单没有反应。单击menu键时没出现菜单,帮忙看看吧相关的知识,希望对你有一定的参考价值。

public class RadioTest extends Activity

private File sdcardDir = Environment.getExternalStorageDirectory();
private String path = sdcardDir.getParent() + File.separator + sdcardDir.getName()+ File.separator+"publickeys";
private TextView title;
private String filename;
private RadioGroup group ;
protected final static int MENU_DETIAL = Menu.FIRST ;
protected final static int MENU_DELETE= Menu.FIRST + 1;
protected final static int MENU_CONFIRM= Menu.FIRST + 2;

@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.cer2);
title = (TextView)findViewById(R.id.title);
group = (RadioGroup)findViewById(R.id.g);
File file = new File(path);
File files[] = file.listFiles();
for(int i = 0; i < files.length; i++)
File f = files[i];
RadioButton br = new RadioButton(this);
br.setText(f.getName().toString());
group.addView(br);


group.setOnCheckedChangeListener(new OnCheckedChangeListener()
public void onCheckedChanged(RadioGroup group, int checkedId)
// TODO Auto-generated method stub
RadioButton rb = (RadioButton)findViewById(checkedId);
filename = path + File.separator + rb.getText().toString() ;
title.setText(filename);

);


@Override
public boolean onCreateOptionsMenu(Menu menu)
int idGruop1 = 0;
menu.add(idGruop1, MENU_DETIAL, Menu.NONE, "详细信息").setIcon(android.R.drawable.ic_menu_info_details);
menu.add(idGruop1, MENU_DELETE, Menu.NONE+1, "删除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(idGruop1, MENU_CONFIRM, Menu.NONE+2, "验证").setIcon(android.R.drawable.ic_menu_manage);
return super.onCreateOptionsMenu(menu);


@Override
public boolean onOptionsItemSelected(MenuItem item)
super.onOptionsItemSelected(item);
switch(item.getItemId())
case MENU_DETIAL:
detail();
break;
case MENU_DELETE:
deletefile();
break;
case MENU_CONFIRM:
confirm();
break;


return true;


private void deletefile()

private void detail()

private void confirm()

参考技术A

代码没有问题,返回值也没有问题,可以显示菜单,楼主换个模拟器试试.

追问

恩,我知道问题了,因为我是在另外一个layout里面显示这个actiivity。估计是什么东西档住了菜单吧

参考技术B 你得必须返回true告诉系统你需要创建菜单,你返回父类的方法的结果,由于父类没有创建菜单最终肯定返回false,所以没有菜单显示出来 参考技术C public boolean onPrepareOptionsMenu(Menu menu)

super.onCreateOptionsMenu(menu);
menu.clear();
menu.add(idGruop1, MENU_DETIAL, Menu.NONE, "详细信息").setIcon(android.R.drawable.ic_menu_info_details);
menu.add(idGruop1, MENU_DELETE, Menu.NONE+1, "删除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(idGruop1, MENU_CONFIRM, Menu.NONE+2, "验证").setIcon(android.R.drawable.ic_menu_manage);
return true;
本回答被提问者采纳

以上是关于android 创建选项菜单没有反应。单击menu键时没出现菜单,帮忙看看吧的主要内容,如果未能解决你的问题,请参考以下文章

一起学Android之Menu

菜单(Menu)的三中创建方式——Android开发之路2

Android随笔---menu菜单的使用

android menu 有啥用

Android 选项菜单Option Menu 使用

android中的菜单menu可以在屏幕上一直显示吗