如何通过子视图了解LinearLayout的索引?

时间:2013-03-25 01:24:25

标签: android android-layout

我的布局就像这样

<ParentLinearlayout>
    <ChildLinearlayout>
       <Button>
    </ChildLinearlayout>
    <ChildLinearlayout>
       <Button>
    </ChildLinearlayout>
</ParentLinearlayout1>

更改ChildLinearlayout的数量,动态添加和删除。

单击按钮时,我想删除作为Button的父级的ChildLinearlayout。

但我不知道index linearlayout。索引经常被更改,因此无法使用标记。

如何知道LinearLayout索引?

4 个答案:

答案 0 :(得分:2)

/api/users

答案 1 :(得分:1)

另一种更强大的方法是在将每个子项添加到父项时为其分配标记。

View child = // TODO
child.setTag("child" + i);
parent.addView(child);

并使用findViewByTag()再次找到它。

parent.removeView(parent.findViewByTag("child4"));

答案 2 :(得分:0)

parent.removeView((View)button.getParent());

请注意这一点,因为它非常依赖于您的View层次结构。

答案 3 :(得分:0)

public void showListofData() {
    if (linearlayout.getChildCount() > 0) {
        linearlayout.removeAllViews();
    }
    for (int i = 0; i < mylist.size(); i++) {
        LayoutInflater inflater = null;
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View mLinearView = inflater.inflate(
                R.layout.row, null);

        TextView cName = (TextView) mLinearView
                .findViewById(R.id.txt_name);
        clinicName.setText(mylist.get(i).name);
        mLinearView.setTag(mylist.get(i));
        linearlayout.addView(mLinearView);

        mLinearView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
             int pos=(Integer)v.getTag();

            }
        });
    }
}