onOptionsItemSelected中未调用自定义菜单图标

时间:2013-12-11 08:30:47

标签: java android

我的代码如下: -

public boolean onCreateOptionsMenu(Menu menu) {
    //getSupportMenuInflater().inflate(R.menu.main, menu);
    //return true;

    // add this
    menu.add(Menu.NONE, R.id.testiv, Menu.NONE, "custom")
        .setActionView(R.layout.test)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    FrameLayout parent = (FrameLayout)findViewById(R.id.content_frame);
    VersionChecker version;

    switch (item.getItemId()) {

    case R.id.testiv: 

    //not call  
    return super.onOptionsItemSelected(item);
}

我尝试调用onclick自定义布局图标但未能进入onOptionsItemSelected。

1 个答案:

答案 0 :(得分:0)

您将ID设置为菜单,但万一请不要完全调用:

    aMenuItem add (int groupId, int itemId, int order, int titleRes);

您将商品ID设置为0,但是如果您要调用此方法,则必须将菜单项的ID设置为R.id.testiv

//// EDIT

testiv更改为0并使用以下代码:

groupId

   @Override
   public boolean onMenuItemSelected(int featureId, MenuItem item) {
        switch (item.getItemId()) {
        case R.id.testiv:
            Toast.makeText(this, "Clicked", Toast.LENGTH_SHORT).show();
            break;

        default:
            break;
        }
        return super.onMenuItemSelected(featureId, item);
    }

more info