当将布局可见性设置为GONE时,看不到在布局之外的下拉菜单。

4
在我的XML中,我有一个“选择操作符”下拉菜单,然后是一个线性布局,其中包含一些编辑文本和一个“选择区域”下拉菜单。
在该布局下方,我有一个编辑文本和一个按钮。当我点击按钮时,我将布局的可见性设置为GONE或VISIBLE。
当我将可见性设置为GONE时,我可以看到“选择操作符”下拉菜单,但当我将可见性设置为VISIBLE时,我看不到下拉菜单。我不知道这是为什么。
有人能告诉我问题具体出在哪里吗。
我的XML:
 <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <ScrollView
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:fillViewport="true">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_gravity="center">


        <Spinner
            android:id="@+id/splayout_electricity_OPERATORsp"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="10dp"
            android:layout_marginTop="40dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:entries="@array/operators_electricity"/>



        <LinearLayout
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_marginTop="20dp"

            android:id="@+id/llayout_electricity_TNEBLAYOUTl"
            android:visibility="visible">

            <Spinner
                android:id="@+id/splayout_electricity_TNEBREGIONsp"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:textSize="10dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:gravity="left"
                android:entries="@array/operators_electricity_REGION"/>

            <EditText
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:textSize="15dp"
                android:layout_marginTop="20dp"
                android:hint="Code"
                android:gravity="left"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:id="@+id/elayout_electricity_TNEBCODEet" />

            <EditText
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:textSize="15dp"
                android:layout_marginTop="20dp"
                android:hint="Consumer Name"
                android:gravity="left"
                android:layout_marginLeft="20dp"
                android:inputType="textPersonName"
                android:layout_marginRight="20dp"
                android:id="@+id/elayout_electricity_TNEBCONSUMERNAMEet" />

            <EditText
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:textSize="15dp"
                android:layout_marginTop="20dp"
                android:hint="Contact Number"
                android:inputType="numberDecimal"
                android:gravity="left"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:id="@+id/elayout_electricity_TNEBCONTACTNOet" />

        </LinearLayout>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="15dp"
            android:layout_marginTop="20dp"
            android:hint="Consumer Number (Refer Bill)"
            android:gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:id="@+id/elayout_electricity_CONSUMERNOet" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="15dp"
            android:layout_marginTop="20dp"
            android:hint="Amount"
            android:gravity="left"
            android:inputType="numberDecimal"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:id="@+id/elayout_electricity_AMOUNTet" />

        <Button
            android:id="@+id/blayout_electricity_RECHARGEbt"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_marginTop="30dp"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:background="#16562e2e"
            android:textStyle="bold"
            android:text="Pay Bill"
            android:textColor="#000000"
            android:textSize="15dp"/>

    </LinearLayout>

    </ScrollView>
</FrameLayout>





My Java file:

    l_TNEB = (LinearLayout) getActivity().findViewById(R.id.llayout_electricity_TNEBLAYOUTl);
        b_paybill = (Button) getActivity().findViewById(R.id.blayout_electricity_RECHARGEbt);

        b_paybill.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(l_TNEB.getVisibility()== View.VISIBLE)
                {
                    l_TNEB.setVisibility(View.GONE);
                }else {
                    l_TNEB.setVisibility(View.VISIBLE);
                }
            }
        });

Can see the Operator Spinner

Where is my spinner


2
你必须为ScrollView内部的LinearLayout设置layout_height="wrap_content"。 - Mahesh B ツ
1
非常感谢您,先生。那解决了我的问题。我该如何接受您的评论作为解决方案? - Nayan
不需要,伙计。 你的快乐将使我受到祝福.. ;) - Mahesh B ツ
3个回答

1

将layout_height更改为wrap_content

 <ScrollView
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:fillViewport="true">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center">

0

正如'Mahesh B'所说,

我将我的线性布局高度设置为“Wrap_Content”,并移除了重力。 这解决了我的问题。


0

粘贴这个

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

<ScrollView
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:fillViewport="true">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     android:paddingTop="40dp" ///<==i add this 
    android:layout_gravity="center">


    <Spinner
        android:id="@+id/splayout_electricity_OPERATORsp"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:textSize="10dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:entries="@array/operators_electricity"/>



    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_marginTop="20dp"

        android:id="@+id/llayout_electricity_TNEBLAYOUTl"
        android:visibility="visible">

        <Spinner
            android:id="@+id/splayout_electricity_TNEBREGIONsp"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="10dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:gravity="left"
            android:entries="@array/operators_electricity_REGION"/>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="15dp"
            android:layout_marginTop="20dp"
            android:hint="Code"
            android:gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:id="@+id/elayout_electricity_TNEBCODEet" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="15dp"
            android:layout_marginTop="20dp"
            android:hint="Consumer Name"
            android:gravity="left"
            android:layout_marginLeft="20dp"
            android:inputType="textPersonName"
            android:layout_marginRight="20dp"
            android:id="@+id/elayout_electricity_TNEBCONSUMERNAMEet" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:textSize="15dp"
            android:layout_marginTop="20dp"
            android:hint="Contact Number"
            android:inputType="numberDecimal"
            android:gravity="left"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:id="@+id/elayout_electricity_TNEBCONTACTNOet" />

    </LinearLayout>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:textSize="15dp"
        android:layout_marginTop="20dp"
        android:hint="Consumer Number (Refer Bill)"
        android:gravity="left"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:id="@+id/elayout_electricity_CONSUMERNOet" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:textSize="15dp"
        android:layout_marginTop="20dp"
        android:hint="Amount"
        android:gravity="left"
        android:inputType="numberDecimal"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:id="@+id/elayout_electricity_AMOUNTet" />

    <Button
        android:id="@+id/blayout_electricity_RECHARGEbt"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:background="#16562e2e"
        android:textStyle="bold"
        android:text="Pay Bill"
        android:textColor="#000000"
        android:textSize="15dp"/>

</LinearLayout>

</ScrollView>
</FrameLayout>

请提供更详细的信息,告诉我您需要什么。 - Rajesh
你想在editText的可见性设置为GONE后显示Region sppiner吗? - Rajesh
先生,请再仔细阅读问题,我已经在那里提到了所有的事情。这个问题也已经解决了。我已经按照Mahesh B所说的发布了解决方案。谢谢。 - Nayan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接