0

hostその後、TalkBackにビュー内のテキストの内容と「クール」を伝えようとしています。

これを行うために、線形レイアウトでアクセシビリティ デリゲートを設定していますが、infoパラメーターの text プロパティと contentDescription プロパティは常に null です。つまりinfo.getText()info.getContentDescription()常に null を返します。ネストされた TextViews からテキストを抽出できないようです。

したがってhost、パラメーターは線形レイアウトであり、その中に別のネストされた線形レイアウトが含まれます。このネストされたリニア レイアウトには、さらにネストされたレイアウトとテキスト ビューが子として含まれます。(私はAPI 21+をターゲットにしています)

linearLayout.setAccessibilityDelegate(new View.AccessibilityDelegate()
{
    @Override
    public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info)
    {
        super.onInitializeAccessibilityNodeInfo(host, info);

        String newWordsToSay = info.getText() + " is cool"
        //info.getText() CRASHES due to null pointer exception
        info.setContentDescription(info.setText(newWordsToSay));
    }
});

編集:hostパラメータをチェックすると、予想されるネストされた TextView がすべてそこにあり、それぞれのテキスト フィールドがあります。問題は、それらからテキストを抽出できないように見えることです。

どんな助けでも大歓迎です。

4

1 に答える 1