在我的活动XML布局中,我有两个视图,基本上是“加载”视图和“结果”视图。加载视图是可见的,结果是不可见的,直到异步/线程调用完成,此时可见性将反转。
以下是相关XML的摘录:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">
<TextView
android:id="@+id/loading"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:text="@string/loading" />
<LinearLayout
android:id="@+id/results"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:visibility="invisible">
<!-- result contents -->
</LinearLayout>
</LinearLayout>
以下是我用来交换可见性的代码:
findViewById(R.id.results).setVisibility(View.VISIBLE);
findViewById(R.id.loading).setVisibility(View.INVISIBLE);
不幸的是,这些调用的结果似乎隐藏了加载视图,但没有显示结果。
我在想,即使加载视图不可见,它的区域仍然会消耗显示结果布局所需的屏幕部分,但这只是猜测。任何帮助将不胜感激!
答案 0 :(得分:3)
请使用
findViewById(R.id.results).setVisibility(View.VISIBLE);
findViewById(R.id.loading).setVisibility(View.GONE);