ドロップダウン ビューを作成するために Spinner を実装している間、最初の要素は常にメイン ビューとドロップダウン リストに表示されます。getDropdrowView() をオーバーライドして非表示にしました。しかし、トークバックで問題が発生します。
問題は、スピナーをクリックすると、ドロップダウン ビューが開き、そこに 1 つのアイテムが存在する場合でも「2 つのアイテムを表示しています」と表示されることです。onclickListener を提供して、読み上げテキストを「1 項目を表示」としてオーバーライドしたかったのです。ただし、スピナーはクリックイベントをサポートしていません。
ontouchListener、onkeyListenerを試しましたが、「2つのアイテムを表示しています」というテキストを上書きするものは何もありませんでした。 setContentDescriptionも機能しません。次のことを試しましたが、うまくいきませんでした:
AccessibilityEvent talkBackEvent = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_CLICKED);
talkBackEvent.getText().add("showing 1 item");
mSelectSpinner.onInitializeAccessibilityEvent(talkBackEvent);
mSelectSpinner.sendAccessibilityEventUnchecked(talkBackEvent);
mSelectSpinner.onPopulateAccessibilityEvent(talkBackEvent);
助けてください..トークバックに関するフォーラムの議論はほとんどありません.