子の親にremoveView()を呼び出す必要がありますか?あなたは私が持っている最初の
0
A
答えて
0
removeAllViewsInLayout()
とremoveAllViews()
の間に重要な違いがあります。
前者はすべてのビューを削除しないことがあり、後者はすべてのビューを削除します。 removeAllViewsInLayout()
で削除されたビューを特定するための独自のロジックを実行していない限り、レイアウトに重複したビューを追加しようとしている可能性があります。 removeAllViewsInLayout()
は、この警告が付属しています実際のところ
、:
はあなたのViewGroupを拡張されていない限り、このメソッドを呼び出すと、ビューの測定とレイアウトパイプラインを理解しないでください。
あなたの投稿に基づいて、私はあなたがViewGroupを拡張しておらず、測定/レイアウトパイプラインを適切に分析していないと仮定しているので、そのメソッドを呼び出すべきではありません。
ただし、mContainer
が実際のnViews
の親でない場合は、mContainer
をクリアするだけでは不十分です。その場合は、nViews
をremoveView()
メソッドを使用して削除する必要があります。mContainer
に追加するには、それを実際の親としてください。
removeAllViews()=>同じエラーです。 mContainerは私のlayout.xmlのルートLiniarLayoutです – Corneliu
'nViews 'はどこから来ますか? 'nViews'が2回追加される理由を分析するのに十分な情報を投稿していませんが、エラーメッセージは非常に明確です。 –