设置 LinearLayout setVisibility 无效很奇怪

============问题描述============


<FrameLayout
        android:id="@+id/FrameLayout_ms"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageView_logio_a"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:onClick="showDanCiMessage"
            android:src="@drawable/logo_gray" />

        <LinearLayout
            android:id="@+id/LinearLayout_jieShi_lay"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" android:visibility="gone"  >

            <TextView
                android:id="@+id/textView_zwsy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="中文"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="@color/line_qianHui"
               />

            <TextView
                android:id="@+id/textView_lj_en"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="英文例句"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="@color/line_qianHui"
               />

            <TextView
                android:id="@+id/textView_lj_cn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="中文解释"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="@color/selectTextColor"
                />
        </LinearLayout>
    </FrameLayout>


需要实现的功能是点击上面的那个图片,然后图片隐藏,把LinearLayout 这个布局里的东西全部显示出来
public void showDanCiMessage(View v1) {

ImageView iv = (ImageView) v1.findViewById(R.id.imageView_logio_a);
iv.setVisibility(View.GONE);//图片可以隐藏

View v = LayoutInflater.from(this).inflate(R.layout.layout_fuxidanci,
null);
LinearLayout lLay = (LinearLayout) v
.findViewById(R.id.LinearLayout_jieShi_lay);
lLay.setVisibility(View.INVISIBLE);//这里显示不出来,但是也不出错
各位看看

============解决方案1============


lLay.setVisibility(View.INVISIBLE);//View.VISIBLE吧
另外你怎么不直接LinearLayout lLay = (LinearLayout)  v1.findViewById(R.id.LinearLayout_jieShi_lay);

============解决方案2============


lLay定义成全局的。
在onCreate里获取lLay = (LinearLayout) findViewById(R.id.LinearLayout_jieShi_lay);
然后在showDanCiMessage设置隐藏。

转载于:https://www.cnblogs.com/llj1985522/p/4046080.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值