私は本当に奇妙な問題があり、解決方法はわかりません。 私は属性アンドロイドとの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にネストされたビューの可視性は何とか更新されませんか?
次のような場合は、代わりに3項演算子を使うことができます: 'view.setVisibility(newPosition == StickyHeaderLayoutManager.HeaderPosition.STICKY?View.VISIBLE:View.GONE)' –