如何动态地将视图的可见性第二次更改为可见

时间:2014-06-30 09:07:44

标签: android

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="170dp"
        android:background="#fff" >

        <AutoCompleteTextView
            android:id="@+id/location_view"
            android:layout_width="150dp"
            android:layout_height="35dp"
            android:layout_alignLeft="@+id/category_view"
            android:layout_below="@+id/category_view"
            android:layout_marginTop="16dp"
            android:ems="10"
            android:hint="@string/location"
            android:textSize="@dimen/autocomplettextview"
            />

        <AutoCompleteTextView
            android:id="@+id/category_view"
            android:layout_width="150dp"
            android:layout_height="35dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="21dp"
            android:ems="10"
            android:hint="@string/category"
            android:textSize="@dimen/autocomplettextview"
            android:textColor="#000"
            >

            <requestFocus />
        </AutoCompleteTextView>

        <Button
            android:id="@+id/getquote_button"
            android:layout_width="150dp"
            android:layout_height="40dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:background="@drawable/getquote"
            android:paddingLeft="10dp"
            android:paddingRight="10dp" />

    </RelativeLayout>

<include layout="@layout/First_layout" 

    android:visibility="visible">
   </include>
<include layout="@layout/second_layout"
    android:visibility="invisible"

    />   
   </LinearLayout>

我想让第二个视图显示为第一个视图的可见性,并且在自动完成视图选择的项目上看不见 当用户从自动完成视图列表中选择项目时,第二个布局变得可见,第一个布局将是不可见的

3 个答案:

答案 0 :(得分:0)

为您的include标记指定一个“ID”,并使用findViewById获取引用并将Visibility设置为View.Visible。

<include layout="@layout/second_layout"
    android:id="@+id/second_view"
    android:visibility="invisible"
    /> 

在java中:

   View view = findViewById(R.id.second_view);
   view.setVisibility(View.Visible); 

答案 1 :(得分:0)

您可以针对该AutoCompleteTextview尝试OnItemClickListener。:

textView.setOnItemClickListener(new OnItemClickListener() { 

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        view2.setVisibility(View.Visible);
        view1.setVisibility(View.GONE);
    }
});

希望它有所帮助。

答案 2 :(得分:0)

假设你有一个按钮

Button one = (Button)findViewByID(R.id.ButtonID1);
Button two = (Button)findViewByID(R.id.ButtonID2);

在自动填充中选择所需的值 - 使用此link

并放

one.setVisibiity(View.GONE);
two.setVisibility(View.VISIBLE);

onItemClick