I have a fragment of preferences (SettingsFragment) and I have an activity (SettingsActivity) that uses this fragment.
I don't know why my list of preferences in the fragment is not scrollable. I know that PreferenceFragmentCompat uses his RecyclerView by default.
This is my code.
SettingsFragment.java
public class SettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences, rootKey);
}
}
preferences.xml
<androidx.preference.PreferenceScreen
...>
<androidx.preference.EditTextPreference
android:inputType="number"
android:title="Event"
android:key="event"/>
<!-- Other Preferences... -->
</androidx.preference.PreferenceScreen>
SettingsActivity.java
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
if(savedInstanceState == null) {
Fragment preferenceFragment = new SettingsFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragment_container, preferenceFragment);
ft.commit();
}
}
}
activity_settings.xml
<androidx.constraintlayout.widget.ConstraintLayout
...
tools:context=".SettingsActivity">
<FrameLayout
android:id="@+id/fragment_container"
...>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>