den*_*tex 4 android android-preferences android-fragments
当需要在首选项中执行特定的用户交互时,我使用startActivity(new Intent(this, SettingsActivity.class))fromActivity来调用我的应用程序的 。PreferenceFragment我认为向下滚动以到达所涉及的首选项会很好。
我找到了有关如何将视图滚动到ScrollViews 和ListViews 的解决方案,但没有与PreferenceFragments 相关的解决方案。
我的偏好如下:
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
PreferenceManager.setDefaultValues(this, R.xml.settings, false);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
public static class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener {
//preferences:
private Preference p
// [...]
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
//preference click listeners...
p = (Preference) findPreference("PR_NAME");
p.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
// ...
return true;
}
});
// [...]
}
}
}
Run Code Online (Sandbox Code Playgroud)
感谢您的任何建议
要在 PreferenceScreen(设置/首选项)中滚动,请将此用于 Android API 24.1.+ 或与androidX API一起使用
public void scrollToPreference (String key)
Run Code Online (Sandbox Code Playgroud)