繁体   English   中英

如何从以编程方式夸大的布局访问视图?

[英]How to access views from the programatically inflated layouts?

我有一项活动,在其中我夸大了另一种布局。 下一个目的地的OnClick我正在膨胀一个新的布局。 现在,我要删除膨胀的布局。 所以我想访问从线性布局内部移除的线性布局。 我该如何访问?

布局看起来像这样: 在此处输入图片说明

我已经实现了对布局进行充气并从父布局中移除第一个目标,这是父布局的一部分。 现在,我想对膨胀的目标布局执行相同的操作。 onClick的删除膨胀的布局应该被删除。

next_destination布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="wrap_content"
    android:layout_weight="1.00"
    android:background="@android:color/white"
    android:id="@+id/LinearAddedDestination">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="DESTINATION"
            android:layout_marginStart="20dp"
            android:layout_marginTop="20dp" />
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:orientation="horizontal"
            android:background="@drawable/shape"
            android:gravity="right"
            android:layout_gravity="center|right"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="80dp"
            android:id="@+id/remove">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/ic_clear_black_18dp"
                android:layout_marginLeft="05dp"
                android:layout_marginTop="05dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="REMOVE"
                android:layout_gravity="center"
                android:layout_marginLeft="05dp"
                android:textSize="14sp"
                android:layout_marginRight="15dp" />
        </LinearLayout>
    </LinearLayout>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="08dp"
        android:background="@drawable/line2"/>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginStart="20dp"
            android:background="@drawable/ic_place_black_48dp"
            android:layout_marginTop="05dp"
            android:layout_gravity="center" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableEnd="@drawable/ic_chevron_right_black_24dp"
            android:layout_marginEnd="10dp"
            android:text="@string/Loc"
            android:layout_gravity="center"
            android:layout_marginTop="05dp"
            android:textAppearance="@android:style/TextAppearance.Medium"
            android:cursorVisible="false"/>

    </LinearLayout>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="Street/Building/Place"
        android:layout_marginStart="48dp"/>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginStart="20dp"
            android:background="@drawable/ic_description_black_48dp"
            android:layout_marginTop="10dp" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:layout_marginEnd="10dp"
            android:hint="@string/LocationDetails"/>

    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_marginStart="48dp"
        android:hint="@string/HouseDetails" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <ImageView
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginStart="20dp"
            android:background="@drawable/ic_person_black_48dp"
            android:layout_marginTop="05dp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="10dp"
            android:text="@string/additionalContact"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:drawableEnd="@drawable/ic_expand_more_black_24dp"
            android:layout_marginTop="08dp"
            android:layout_marginStart="05dp" />
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="60dp"
        android:layout_marginEnd="50dp"
        android:layout_gravity="center"
        android:visibility="gone"
        android:layout_marginTop="20dp">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="Name"
            android:layout_gravity="center"/>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="Phone"
            android:layout_gravity="center"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="@string/or"
            android:layout_gravity="center"
            android:layout_marginTop="20dp" />

        <LinearLayout
            android:layout_width="220dp"
            android:layout_height="40dp"
            android:background="@drawable/shape"
            android:layout_gravity="center_horizontal">


            <ImageButton
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/phone2"
                android:layout_gravity="center"
                android:layout_marginStart="30dp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:text="@string/addFromContacts"
                android:layout_gravity="center"
                android:layout_marginStart="20dp" />
        </LinearLayout>

    </LinearLayout>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_marginLeft="48dp"
        android:hint="@string/contact1"
        android:layout_marginTop="10dp" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:focusable="true"
        android:focusableInTouchMode="true">

        <ImageView
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginStart="20dp"
            android:background="@drawable/ic_description_black_48dp"
            android:layout_marginTop="10dp" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:layout_marginEnd="10dp"
            android:hint="Instruction"
            android:layout_gravity="center"
            android:layout_marginLeft="10dp" />

    </LinearLayout>

</LinearLayout>

展开布局所依据的活动。

View newDestination;
ViewGroup parent;


nextDestination.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        removeDestination.setVisibility(View.VISIBLE);
        newDestination = getLayoutInflater().inflate(
            R.layout.next_destination_layout, addDestination, true);
    }
}); 


removeDestination.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        parent = (ViewGroup)destination.getParent();
        parent.removeView(destination);       
    }
});

如何实现这一目标? 请帮忙...

{ ll.removeView(view)// to remove particular view
  ll.removeViewAt(position);// to remove view from particular position
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM