xml文件配置菜单时能不能设置菜单属性让它activity

解决方案 »

  1.   


    不好意思 我只是猜想,XML配置菜单,对于菜单的事件响应,有没可能配置菜单响应事件的activity属性这个东东因为在windows application下,比如某个控件,要想另外设置其事件响应,可以通过设置控件属性来完成
      

  2.   

    因为XML只是一个界面的描述,所以是不可能单独响应事件的,开发中必须重载函数nOptionsItemSelected。这个函数是由一个接口定义的,activity类也只是实现了这个接口。所以你可以自己写个类实现这个,然后在别的地方调用这个类的nOptionsItemSelected方法。我知道楼住很想知道我说的这个接口是哪一个,但是我这里现在没有API的稳当,实在对不起楼主,不过你可以这么查找:去API文档中看activity实现的接口(好几个),然后看看具体是哪一个注:也有可能不是接口,是父类,但实现方法是一个道理
      

  3.   

    没找到啊,activity的父类都没有public boolean onOptionsItemSelected(MenuItem item)这个方法,至于实现了哪些接口sdk里看不到啊不知你是不是这个意思,比如activity实现了接口A,接口A中定义了onOptionsItemSelected方法,那我就定义一个类B,实现接口A中的onOptionsItemSelected方法,完后我在所有要用到这个menu响应事件的activity里,通过调用new B().onOptionsItemSelected(),就可以让所有的activity的menu都响应同样的操作了,是这个意思吗?
      

  4.   

    不过这有个问题,我记得java中实现一个接口得实现一个接口的所有类,那我这个类B不是非常庞大?另外那类A到底怎么找啊,没找到,sdk中根本没法看继承了或实现了什么接口啊
      

  5.   

    我今天查了下,看来我弄错了。
    onOptionsItemSelected()貌似是在Activity里第一次实现的,也就是不是别的借口设定好的。
    楼主要不写个类,extends activity好了。
      

  6.   

    我一开始就尝试过这样,但我发现定义在类A中的onOptionsItemSelected(),在类B中调用是没用还是报错,我不记得了,要不你试试,或许我记错了
      

  7.   


    按理说应该可以啊,在extends Activity的类A中定义好onCreateOptionsMenu(Menu)和onOptionsItemSelected()方法,然后在一个extends类A的类B中直接调用super方法,没成功吗?