我正在尝试使用 Roman Nurik 的WizardPager库来添加和编辑自定义对象,但是在将数据分配给某些页面时遇到了麻烦(我想一旦准备好保存数据,我将很难访问数据)。我不了解 findByKey() 的概念,也无法将数据分配给位于 BranchPage“下方”的页面。
例子:
我的向导模型如下所示:
protected PageList onNewRootPageList() {
return new PageList(
new CustomerInfoPage(this, "Page 1"),
new BranchPage(this, "Branch page")
.addBranch("Alternative 1", new SingleFixedChoicePage(this, "Page 2.1"))
.addBranch("Alternative 2", new CustomerInfoPage(this, "Page 2.2"))
);
}
使用 MainActivity.java 中的以下代码将数据分配给第一页可以正常工作。(感谢Allen Chan在这里的回答)。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wizard_main);
...
Bundle data = new Bundle();
if (!TextUtils.isEmpty(CustomerInfoPage.MY_DATA_KEY)) {
data.putString(CustomerInfoPage.MY_DATA_KEY, person.getName());
mWizardModel.findByKey("Page 1").resetData(data);
}
但是如何将数据分配给作为 BranchPage 子页面的第二个 CustomerInfoPage?我试过各种键,比如
mWizardModel.findByKey("Branch page:Page 2.2").resetData(data);
但没有运气。我尝试过的所有操作都会导致该特定行出现 NullPointerException。
请建议 - 提前谢谢!