我有一个操作栏,它将所有内容都放在右上角的菜单中,用户单击该菜单就会打开菜单选项。
我在使用它的每个活动中都会使用此功能来扩展操作栏菜单:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main2, menu);
return true;
}
我的 main2.xml 的 xml 是:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_searchHome"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Seach"/>
</menu>
我的问题是我是否在 xml 中的项目中放置 onclick,如果是,我应该将它调用的 onclick 方法放在哪里?我需要将其放入启动此操作栏的每个活动中吗?
如果您在菜单项上添加 onClick 属性,如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_searchHome"
android:orderInCategory="100"
android:showAsAction="never"
android:onClick="doThis"
android:title="Seach"/>
</menu>
然后在你的活动中:
public void doThis(MenuItem item){
Toast.makeText(this, "Hello World", Toast.LENGTH_LONG).show();
}
Note:
ActionBarSherlock 是已弃用。除非您正在开发适用于 Android 4.0 或更早版本的应用程序,否则请勿使用它。但如果您使用该库,则必须导入
import com.actionbarsherlock.view.MenuItem;
and not
import com.android.view.MenuItem;
此外,您还可以执行以下操作:ActionBar Sherlock 菜单项 OnClick
@adneal 提到的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)