四个视图使用相同的xml。我想仅显示view 1
的线性布局。
我把android:visibility="gone"
放在xml中。然后我正在为view 1
-
LinearLayout layone= (LinearLayout) view.findViewById(R.id.layone);
layone.setVisibility(View.VISIBLE);
但是这并没有将可见性设置为可见。
在xml中声明GONE
后,是否可以显示视图?
我不想通过这样做来转换逻辑,
layone.setVisibility(View.GONE);
除了视图1之外的三个视图中的每个视图。
想法或评论?
更新:
我的xml -
<TextView
android:id="@+id/layone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Previous Page"
android:textColor="#000000"
android:textSize="16dp"
android:paddingLeft="10dp"
android:layout_marginTop="10dp"
android:visibility="gone" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:padding="10dp"
android:gravity="center_vertical"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:tag="PrevEntries"
android:id="@+id/laytwo"
android:layout_marginTop="10dp"
android:background="@layout/roundedtext"
android:visibility="gone" >
<TextView
android:id="@+id/laythree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous Page"
android:textColor="#000000"
android:textSize="18dp"
android:gravity="center"
android:textStyle="bold" />
</LinearLayout>
答案 0 :(得分:23)
<TextView
android:id="@+id/layone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Previous Page"
android:textColor="#000000"
android:textSize="16dp"
android:paddingLeft="10dp"
android:layout_marginTop="10dp"
android:visibility="gone" />
layone是一个TextView 你错了。
LinearLayout layone= (LinearLayout) view.findViewById(R.id.laytwo);// change id here
layone.setVisibility(View.VISIBLE);
应该做的。
或更改为这样以显示TextView:
TextView layone= (TextView) view.findViewById(R.id.layone);
layone.setVisibility(View.VISIBLE);
答案 1 :(得分:8)
完成这样的事情:
view = inflater.inflate(R.layout.entry_detail, container, false);
TextView tp1= (TextView) view.findViewById(R.id.tp1);
LinearLayout layone= (LinearLayout) view.findViewById(R.id.layone);
tp1.setVisibility(View.VISIBLE);
layone.setVisibility(View.VISIBLE);
答案 2 :(得分:2)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/activity_register_header"
android:minHeight="50dp"
android:orientation="vertical"
android:visibility="gone" />
试试吧..对我而言,这段代码可以运作..
答案 3 :(得分:0)
Kotlin风格使此操作更简单的方法(示例):
isVisible = false
完整示例:
if (some_data_array.details == null){
holder.view.some_data_array.isVisible = false}