17

ActionBar アイテムを長押しした後にトーストを非表示にする方法はありますか? アイテムのタイトルを設定しませんでしたが、まだそこにあります - 空のトースト。

<item
    android:id="@+id/ab_main_menu_dots"
    android:icon="@drawable/action_icons_dots"
    android:showAsAction="always">
    <menu>
        <item
            android:id="@+id/ab_main_menu_my_profile"
            android:showAsAction="never"
            android:title="@string/ab_my_profile">
        </item>
        <item
            android:id="@+id/ab_main_menu_settings"
            android:showAsAction="never"
            android:title="@string/menu_settings">
        </item>
        <item
            android:id="@+id/ab_main_menu_help"
            android:showAsAction="never"
            android:title="@string/tv_help_login">
        </item>
        <item
            android:id="@+id/ab_main_menu_about_us"
            android:showAsAction="never"
            android:title="@string/ab_about_us">
        </item>
        <item
            android:id="@+id/ab_main_menu_logout"
            android:showAsAction="never"
            android:title="@string/bt_logout_main">
        </item>
    </menu>
</item>

4

9 に答える 9

6

トーストを非表示にする唯一の方法は、ActionBarメニュー項目をテキストで表示するように設定することです。android:showAsAction="withText". それ以外の場合、メニュー項目にタイトルが設定されていなくても、トーストは各アクション項目が何を表しているかを明確にします。

于 2013-07-17T10:36:45.897 に答える
5

目的のメニュー項目の長押しを無効onCreateOptionsMenuするタスクをスケジュールします。サンプルはこちら

    @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    inflater.inflate(R.menu.my_menu, menu);
    new Handler().post(new Runnable() {
        @Override
        public void run() {
            final View v = getActivity().findViewById(R.id.your_menu_item);
            if (v != null) {
                v.setOnLongClickListener(new View.OnLongClickListener() {
                    @Override
                    public boolean onLongClick(View v) {
                        return false;
                    }
                });
            }
        }
    });
}
于 2016-07-22T07:38:40.500 に答える
0

独自のカスタムを作成してみてくださいActionBar。これを行う方法のチュートリアルは次のとおりです。 カスタム アクション バー

于 2013-07-18T15:29:38.103 に答える
-2

ActionBarSherlock を使用している場合は、方法があります。ライブラリで ActionMenuItemView.java ファイルを見つけて、onLongClick メソッド全体をコメントするだけです。

于 2013-10-19T20:28:55.787 に答える