在Android UI中可以动态创建,所以有没有办法知道是否为父母创建了一个孩子?
例如,如果我有一个线性布局作为父,我动态创建一个子按钮。有没有通知家长?
答案 0 :(得分:3)
Tal Kanel的版本可以使用,但为了避免重复代码,我建议使用HierarchyChangeListener:
LinearLayout ll = (LinearLayout)findViewById(R.id.mylinearlayout);
ll.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
public void onChildViewAdded(View parent, View child) {
//handle the logic for an added child here
}
public void onChildViewRemoved(View parent, View child) {
//optionally, handle logic for a removed child
}
});
答案 1 :(得分:1)
这很简单 - 如果你有LinearLayout名称linearLayout1,那么为他添加孩子的唯一原因是 通过调用linearLayout.addView(View子)方法。 所以,你确切知道孩子何时添加:只有在这个方法调用后才可以:) 例如:
linearLayout1.addView(view);
doWhatYouWantToDoWhenChildAdded();