Android -Ondraw動的挿入されたカスタムビューで呼び出されていません

StackOverflow https://stackoverflow.com/questions/4358605

  •  08-10-2019
  •  | 
  •  

質問

動的に挿入されているカスタムビューがあり、 onDraw 呼ばれていません。私は最初、動的挿入なしでカスタムビューを作成しましたが、それは正常に機能しましたが、作業コードベースに移動すると、取得できません onDraw ビューコンストラクターが呼ばれ、 onMeasure 呼び出されます。私は置いてみました invalidate()postInvalidate() その場所の周りに電話をかけますが、彼らは眺めを描くように強制していないようです。ビュー階層は両方のバージョンで同じように見え、私は失われています。

誰かが助けることができますか?

編集:もう少しテストが示しています onDraw エミュレータで呼び出されていますが、携帯電話ではありません。また onSizeChanged 携帯電話には正しい値がありますが、エミュレータでは値はすべて0です。

編集:私はそれについて遊んでいますが、それでもどこにも行くことができないので、賞金をかけました。さらにコード / XML /情報が必要な場合は、お知らせください。

役に立ちましたか?

解決 2

私は変更しました ViewTextView そして、私は少し混乱していますが、今は機能しているようです どうして View うまくいきませんでした。

他のヒント

これは、最初のカスタムビューで、私が最近抱えていた問題のように聞こえます。ビュー階層をロードすると、カスタムビューが表示されるかどうかに気付きましたか?とにかく、彼らはワイヤーフレームのプレビューにレイアウトされているかどうか?

後者が当てはまる場合、そうです requestLayout() それは呼び出されません(すべてのビューで階層をロードする階層はそれを呼び出します - それがビューが表示される理由です)。また、同様のバグがすでに報告されていることもわかりました ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top