34

私のフラグメントクラスでは、子ビュー要素をプログラムでレイアウトに条件付きで追加します:

LinearLayout child = (LinearLayout) inflater.inflate(R.layout.child_view, null);

LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,100);

container.addView(child, params);

上記のコードは条件付きで実行されるため、ある時点で、子ビューが追加されたかどうかを確認したいのですが、このチェックをプログラムで行うにはどうすればよいですか?

4

7 に答える 7

51

インフレータを介してビューを作成する場合、彼の親を確認できます

if(view.getParent() != null) {...}
于 2013-07-18T11:32:35.107 に答える
25

返信が遅くなり申し訳ありませんが、次の代替手段を試すことができます。

container.getChildCount();ビューを追加する前と追加した後に使用します。お気に入り :

int x = container.getChildCount();

container.addView(child, params);

int y = container.getChildCount();

if(y > x)
   Toast.makeText(context, "View Successfully Added!", Toas.LENGTH_SHORT).show();
于 2013-08-07T05:54:11.033 に答える
6

コメントを書くことができないので、解決策としてここに書きます: API レベル 19 から呼び出すことができますが、isAttachedToWindow()これはあまり役に立ちませんがAPI 19、それ以上を目指している場合、これはドキュメントによって機能するはずです。

于 2016-11-29T12:23:05.223 に答える