2017-02-01 18 views
0

私は本当に奇妙な問題があり、解決方法はわかりません。 私は属性アンドロイドとのLinearLayout内のビューを持っている:可視性= 「を行って」これは、レイアウトファイルView.GONE状態からView.VISIBLEへのsetVisibilityが正常に動作しない

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/bg" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/titleTextView" 
     android:gravity="end" 
     android:text="dfgdfg" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@android:color/transparent" 
     android:paddingTop="5dp" 
     android:paddingBottom="5dp"/> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="8dp" 
     android:background="@drawable/shadow" 
     android:id="@+id/preLollipopShadow" 
     android:visibility="gone"/> 

</LinearLayout> 

私はpreLollipopShadowでビューの表示を変更したいとき、私はこのコード

if (newPosition == StickyHeaderLayoutManager.HeaderPosition.STICKY) { 
         ((ViewGroup)header).getChildAt(1).setVisibility(View.VISIBLE); 

        } 
        else 
        { 
         ((ViewGroup)header).getChildAt(1).setVisibility(View.GONE); 

        } 
を使用しています

私は期待どおりに動作していない、私はそのシャドウがスティッキーモードで表示され、別の方法で行ってもらいたい。

どのように達成できますか?

更新1: visibility "invisible"で始まり、 "visible"に切り替えて、それが動作していますが、preLollipopShadowビューの "gone"の開始状態では動作しません。

更新2: ビューはRecyclerViewの内部にありますが、RecyclerViewにネストされたビューの可視性は何とか更新されませんか?

+0

次のような場合は、代わりに3項演算子を使うことができます: 'view.setVisibility(newPosition == StickyHeaderLayoutManager.HeaderPosition.STICKY?View.VISIBLE:View.GONE)' –

答えて

1

非表示にする表示には、idのpreLollipopShadowが添付されています。そのidによってビューを見つけるのは簡単です。

parentView.findViewById(R.id.preLollipopShadow); 

または

findViewById(R.id.preLollipopShadow); 

あなたはアクティビティからビューを参照する場合。

+0

これはフラグメントではなく、私は試してみよう –

+0

いいえ、私は可視性の目に見えないで開始し、可視に戻って、それが動作しているが、状態ではない –

+0

もう少しコードが必要になります。リサイクラーアダプターでこのコードを使用していますか? –

関連する問題