いくつかのラベルとビューを動的に生成するアプリを構築しています。「カスタムビュー」がxmlレイアウトでどのように表示されるかを定義し、コードからこのレイアウトを拡張します。
膨らんだレイアウトは常に同じなので、このステップを1回だけ行います。レイアウトができたら、キャッシュして、次に必要になったときに使用したいと思います。
問題は、膨らんだレイアウトを(例としてハッシュマップで)キャッシュに入れて親レイアウトに追加した場合、次にそれを追加しようとしたときに(今回はキャッシュからレイアウトを取得します)、システムが言うことです私のレイアウトにはすでに親があります。
子ビューを削除せずに子ビューを親から切り離す方法を知っていますか?
いくつかのコードを追加しました:
private static HashMap<String, LinearLayout> mComponentsCache;
// inflate and add the layout in cache
layout = (LinearLayout)mLf.inflate(R.layout.form_textbox, mHolder, false);
mComponentsCache.put(FormFieldType.TYPE_TEXT, layout);