我正在使用 Activity
中的 startActivity(new Intent(this, SettingsActivity.class))
来调用我的应用程序的 PreferenceFragment
当需要在首选项中执行特定的用户交互时。
我认为向下滚动以达到相关偏好会很好。
我找到了有关如何将 View 滚动到 ScrollView
和 ListView
的解决方案,但与 PreferenceFragment
无关。
我的偏好是这样的:
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;
}
});
// [...]
}
}
}
谢谢你的建议
最佳答案
要在 PreferenceScreen(设置/首选项)中滚动,请将其用于 Android API 24.1.+ 或与 androidX API 一起使用
public void scrollToPreference (String key)
关于android - 是否可以将 PreferenceFragment 自动向下滚动到所需的(设置)条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20407373/