0

アクティビティで ActionBarSherlock を使用して onMenuItemSelected でインテント/トーストを作成しようとしています。しかし、私はすでに例のようなコードをウェブに挿入していますが、応答しませんでした。間違ったコードの場所を教えてください???

これは私のコードです

public boolean onCreateOptionsMenu(Menu menu) { 
    SubMenu sub = menu.addSubMenu("more");
    MenuItem ShareButton = sub.getItem();
    ShareButton.setIcon(R.drawable.more);
    ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.activity_home, sub);

    return true;

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {

    case R.id.menu_item_account:
            Toast.makeText(myContext, "You Choosed Account",Toast.LENGTH_SHORT).show();

            return true;
        case R.id.menu_item_setting:
            Toast.makeText(myContext, "You Choosed Setting", Toast.LENGTH_SHORT).show();

            return true;
        case R.id.menu_item_exit:
            Toast.makeText(myContext, "You Choosed Exit", Toast.LENGTH_SHORT).show();
            finish();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

ソリューション

これは私の新しいコードです。OnOptionMenuSelected メソッドを削除して、 onMenuItemSelected を使用するだけです。

@Override public boolean onMenuItemSelected(int featureId, MenuItem item) {

    int itemId = item.getItemId();
    switch (itemId) {
    case android.R.id.home:
        finish();
        break;
    case R.id.menu_item_account:
        Toast.makeText(myContext, "Anda memilih Account",
                Toast.LENGTH_SHORT).show();
        setContentView(R.layout.account_contoh_layout);
        return true;
    case R.id.menu_item_setting:
        Toast.makeText(myContext, "Anda memilih Setting",
                Toast.LENGTH_SHORT).show();
        setContentView(R.layout.settings_contoh_layout);
        return true;

    }

    return true;
}

@Override public boolean onCreateOptionsMenu(メニュー メニュー) {

    // Used to put dark icons on light action bar
    SubMenu sub = menu.addSubMenu("");

    MenuItem ShareButton = sub.getItem();
    ShareButton.setIcon(R.drawable.ic_more);
    ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS
            | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.activity_home, sub);

    return true;

}
4

0 に答える 0