このような質問はたくさんありますが、ルートレイアウトを返す前にonCreateView()
にビューを追加することにすべて対処しています。私はこれは私がonCreateView()
せずにUIを更新することができない理由である断片であるonClick()
フラグメントにイメージビューを追加するには?
ノートで、コード実行の途中でビューを追加したい:
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
//RelativeLayout Setup
RelativeLayout relativeLayout = new RelativeLayout(getActivity());
relativeLayout.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT));
//ImageView Setup
ImageView imageView = new ImageView(getActivity());
//setting image resource
imageView.setImageResource(R.drawable.lit);
//setting image position
imageView.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.button);
imageView.setLayoutParams(params);
//adding view to layout
relativeLayout.addView(imageView);
break;
}
}
ここで私はレイアウトのインスタンスを取得し、それを変更します。ただし、この修正されたフラグメントレイアウトをアプリケーションUIに適用することはできません。フラグメントUIの変更後にアプリインターフェースを更新するにはどうすればよいですか?
お時間をいただきありがとうございます。ここで
です。どのような 'View'を動的に作成していても、画面上の' ViewGroup'に追加する必要があります。 –
@MikeM。ありがとうマイクが、 'ViewGroupコンテナ'のインスタンスを保存し、 'container.addView(relativeLayout)'を呼び出すときでさえ、動作しません。私は何をすべきか?ありがとう! –
'onCreateView()'に渡された 'container'を意味するなら、おそらくそれを使いたくないでしょう。これは 'Fragment'の全体の' View'を保持している 'Activity'の' ViewGroup'です。例えば、 'LinearLayout'、' RelativeLayout'などの 'ViewGroup'を' onCreateView() 'で展開しているレイアウトに使いたいでしょう。 –