可以在创建子项时通知父视图

时间:2011-11-17 15:16:03

标签: java android

在Android UI中可以动态创建,所以有没有办法知道是否为父母创建了一个孩子?

例如,如果我有一个线性布局作为父,我动态创建一个子按钮。有没有通知家长?

2 个答案:

答案 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();