2017-06-13 12 views
0

空のrelativeLayoutを設定してから、別のrelativeLayoutからいくつかのビューを追加したいと思います。Android:別のレイアウトからビューを追加する方法

現時点では、メモリエラーの原因となる1つのレイアウトに多数のビットマップがあるため、これを実行したいと思います。だから私は、コードに適合しているように、ビューの追加と削除の効果を得たいと思う。

現時点では、onCreate()のレイアウトのsetContentView()を使用しています。これは、一度に追加するビューが多すぎるため、メモリエラーが発生します。

別の方法です。おそらく、あまりにも多くのビューを持つレイアウトのsetContentView()が可能です。特定のビューを追加する前にビューを追加しないでください。

setContentView(R.layout.start_up_screen_denmark); 
// This will add all the views in the layout causing a memory error. Making everything below irrelavant. 
// So perhaps there is a way to set the ContentView without adding all the views automaticly. 
// Perhaps i can set a blank layout and add views to that layout from the other layout at will. 

ImageView denmark = (ImageView) findViewById(R.id.GoDenmark); 
ViewGroup parent = (ViewGroup) denmark.getParent(); 
parent.removeView(denmark); 
+0

静的ビュー(ImageViewなど)内の画像を置き換える方が簡単ではないでしょうか? –

+0

ここでアンドロイドに関する全記憶問題に新しい。しかし、メモリリークを避けたい場合は静的に何も設定しないでください。 – Nulle

答えて

0

のLinearLayoutを使用すると、あなたは簡単に追加してlin_lay.addView(View child, int index)lin_lay.removeViewAt(int index)とのLinearLayoutからビューを削除することができますので、何をしようとしてより適している可能性があります。

しかし、1つのレイアウトにたくさんのビットマップがあり、メモリの問題を引き起こしている場合は、RecyclerViewを調べるとよいかもしれません。

+0

問題は、現在のレイアウトからビューを削除または追加することではありません。すべてのビューを一度に追加せずにレイアウトを設定しています。おそらく私はあなたの意図を誤解しているでしょう。あなたがしたいことのコード例を私に教えてください。 – Nulle

+0

私は最初にあなたを誤解したかもしれません。あなたは何をしようとしているのあなたのコードを投稿できますか? –

+0

が完了しました。少し助けてくれることを願っています。 – Nulle

関連する問題