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 がすべてそこにあり、それぞれのテキスト フィールドがあります。問題は、それらからテキストを抽出できないように見えることです。
どんな助けでも大歓迎です。