2011-07-29 10 views
2

アクティビティのXMLレイアウトでは、基本的に「読み込み」ビューと「結果」ビューの2つのビューがあります。ローディングビューが表示され、非同期/スレッドコールが完了するまで結果が非表示になります。その時点で、ビジビリティは逆転されます。ここで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

を使用してください。 – Wei

答えて

3

あなたはfindViewById(R.id.loading).setVisibility(View.GONE)を試すことができ

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

完璧、ありがとう! –

関連する問題