有没有一种方法可以创建 Holo 风格的(非弃用)PreferenceActivity,它是纯 Java 中的标头/片段,而不是 XML?是否可以以编程方式添加和删除标题?
问问题
1032 次
2 回答
2
有没有一种方法可以创建 Holo 风格的(非弃用)PreferenceActivity,它是纯 Java 中的标头/片段,而不是 XML?
您的onBuildHeaders()
方法大概可以PreferenceActivity.Header
通过其他方式创建对象。您可能希望创建一个测试项目,该项目通过 XML 处理标头并转储结果Header
对象的内容以确认您将正确填充您的,因为文档Header
有点简洁。
是否可以以编程方式添加和删除标题?
有一种invalidateHeaders()
方法PreferenceActivity
看起来很有希望。通过检查源代码,看起来调用会触发对 的另一个调用onBuildHeaders()
,您将在其中提供新列表,就像invalidateOptionsMenu()
触发对 的调用一样onCreateOptionsMenu()
。
于 2012-10-15T23:45:36.273 回答
2
您可以在 OnBuildHeaders 中创建/添加自己的 Headers,然后在 onHeaderClick 中检查 id:
@Override
public void onBuildHeaders(List<Header> target) {
//loadHeadersFromResource(R.xml.prefs_sync_plugins, target);
Header customHeader = new Header();
customHeader.titleRes= R.string.customHeaderTitle;
customHeader.id = R.string.customHeaderTitle;
target.add(customHeader);
}
@Override
public void onHeaderClick(Header header, int position) {
if (header.id == R.string.customHeaderTitle) {
// Do something
}
}
于 2013-03-01T14:34:35.073 回答