2011-07-29 101 views
2

在我的活动XML布局中,我有两个视图,实质上是“加载”视图和“结果”视图。加载视图是可见的,并且在异步/线程调用完成之前结果是不可见的,此时可见性旨在反转。隐藏Android“加载”视图以显示另一个视图

下面是相关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); 

不幸的是,这些调用的结果似乎隐藏加载视图,但不显示结果。

我在想,即使加载视图是不可见的,它的区域仍然占用显示结果布局所需的部分屏幕,但这只是一个猜测。任何帮助,将不胜感激!

+1

你可以尝试findViewById(R.id.loading).setVisibility(View.GONE); – Wei

回答

3

请使用

findViewById(R.id.results).setVisibility(View.VISIBLE); 
findViewById(R.id.loading).setVisibility(View.GONE); 
+0

完美,谢谢! –