1. ホーム
  2. android

[解決済み] (非推奨) フラグメント onOptionsItemSelected が呼び出されていない件

2023-06-25 07:11:23

質問

EDITです。 この質問は、非推奨のsherlockアクションバーに関するものでした。Androidのサポートライブラリは、現在では代わりに使用されるべきです。

私は、アクションバーのメニューに、私の fragment というメニューが表示されますが、選択イベントが捕捉されません。

このように追加しています。

@Override
public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {
    MenuItem item = menu.add(0, 7,0, R.string.share);
    item.setIcon(R.drawable.social_share).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}

の両方で捕捉しようとすると fragmentfragment activity のように

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case 7:
            Intent share = new Intent(Intent.ACTION_SEND);
            share.setType("text/plain");
            share.putExtra(Intent.EXTRA_TEXT, "I'm being sent!!");
            startActivity(Intent.createChooser(share, "Share Text"));
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

で、私は setHasOptionsMenu(true); の中に onCreate() .

どのように解決するのですか?

アクションバー・シャーロック使用時の編集

を使う必要がありました。

public boolean onMenuItemSelected(int featureId, MenuItem item) {

メニュー項目をキャプチャするために、メインアクティビティで