我该如何实现onMenuItemClickListener?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.gameoptions, menu);
menu.findItem(R.id.menu_item).setIntent(new Intent(this, QMenuActivity.class));
menu.findItem(R.id.back_item).setOnMenuItemClickListener;
return true;
}
Run Code Online (Sandbox Code Playgroud)
我希望back_item一旦点击就可以调用页面中的函数,我该怎么做?
Mat*_*att 11
我假设你想要在你的活动中访问一个非静态函数.如果没有太多信息,请尝试以下内容:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.findItem(R.id.back_item);
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
YourActivity.this.someFunctionInYourActivity();
return true;
}
});
return true;
}
Run Code Online (Sandbox Code Playgroud)
如果我要给xml菜单充气,我就是这样做的.
我在调用菜单时首先给菜单充气:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.test, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
然后等待按下并检查按下了哪个ID:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.item1:
... code ...
return true;
case R.id.item2:
... code ...
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
18252 次 |
| 最近记录: |