我正在PreferenceFragment
中构建CollapsingToolbarLayout
。问题是PreferenceFragment
中的元素太多而且没有显示。似乎NestedScrollView
没有使用这些片段。解决方案here对我不起作用,因为我不能出于其他原因使用compat库。我该如何解决这个问题?
代码:
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_user_profile">
<FrameLayout
android:id="@+id/user_profile_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v4.widget.NestedScrollView>
答案 0 :(得分:5)
好吧很久以后我发现PreferenceFragment
使用ListView
来显示其元素,而这些元素又无法在NestedScrollView
内工作。我通过覆盖onViewCreated
中的PreferenceFragment
方法来解决它:
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
final ListView lv = (ListView) view.findViewById(android.R.id.list);
if (lv != null)
ViewCompat.setNestedScrollingEnabled(lv, true);
}
希望这有助于某人