私は、onCreateContextMenu()およびonContextItemSelected()を介してコンテキストメニューをサポートする基本ListActivityを持っています。これらのメソッドのいずれかが失敗し、コンテキストメニューが生成されない場合、現在のデフォルト機能はonListItemClick()を起動するように見えます。私には、意図的にコンテキストメニューに入るためにユーザが指を押さえていて、そのアイテムを開いていると非常に混乱し、アプリでこのジェスチャが放置された場合にそれらを単に放棄することができます。onCreateContextMenu()が失敗した場合、onListItemClick()をキャンセルします。
私がしたいのは、失敗したときに便利なメッセージでToastを起動し、その後onListItemClickをキャンセルして、リスト項目が開かないようにすることです。 Toastは動作していますが、onCreateContextMenu()またはonContextItemSelected()の中からエラーが発生する場所からクリックアクションをキャンセルすることができるかどうかを判断しようとしています。
ありがとうございます!
「これらの方法のいずれかが失敗し、コンテキストメニューが生成されない場合」 - なぜ失敗するのですか? – CommonsWare
あなたが正しいはずはありませんが、サンプルノートパッドアプリの例として、キャストエラー、空のカーソルのテストなどに関連するtry/catchブロックがあり、失敗した場合はメニューが表示されません。 –