私はいくつかのラベルとビューを動的に生成するアプリケーションを構築しています。 "カスタムビュー"がXMLレイアウトでどのように表示されるべきかを定義し、コードからこのレイアウトを膨らませました。Androidでビューをキャッシュする方法は?
膨らんだレイアウトは常に同じであるため、この手順を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);
レイアウトをどのように正確にキャッシングしているのですか?このようにレイアウトを行う理由は何ですか? – DroidBender
私はこのようにしたいと思います。すでに膨張していたのと同じビューを再び膨らませることはないからです。一例として、レイアウトは同じで内容は異なる5つのテキストボックスを表示する必要があります。 –