0

OnClickListenerのRelativeLayoutにビューを追加しようとしています。

 montrolButton.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
// myParent is a relative layout
// newChild is an ImageView
                     myParent.addView(newChild);
                     requestLayout();
                 }
});

HierarchyViewerを確認しましたが、新しい子が追加されていません。何か足りないものがあれば教えてください。

4

2 に答える 2

0

まったく同じコードを試したところ、正常に機能します。myParent期待する要素ではない変数に問題がある可能性があります。

requestLayout()また、追加されたビューを画面に表示するために呼び出す必要はありませんでした。

おそらく、ビューの別の部分を明示的に取得し、そこに追加して、何が起こっているかを確認してみてください。また、試してみるために、これを行うことができます:

    RelativeLayout rv = (RelativeLayout) this.findViewById(R.id.right3);
    ProgressBar iv = new ProgressBar(this);
    rv.addView(iv);

myParentではなく画像ビューに問題がないかどうかを確認します

いずれにせよ、両方の要素に問題がなければ機能します。アクティビティでは他に何もする必要はありません。

于 2012-04-23T23:18:09.190 に答える
0

新しいビュー(画像ビュー)のレイアウト属性を設定しますか?

于 2012-04-24T08:08:26.670 に答える