Android 如何将数据分配给Roman Nurik';奇才寻呼机?

Android 如何将数据分配给Roman Nurik';奇才寻呼机?,android,Android,我试图使用Roman Nurik的库来添加和编辑自定义对象,但在将数据分配到某些页面时遇到了问题(我想,一旦准备好保存数据,我将很难访问数据)。我不了解findByKey()的概念,也无法将数据分配给位于分支页面“下方”的页面 例如: 我的向导模型如下所示: protected PageList onNewRootPageList() { return new PageList( new CustomerInfoPage(this, "Page 1"), n

我试图使用Roman Nurik的库来添加和编辑自定义对象,但在将数据分配到某些页面时遇到了问题(我想,一旦准备好保存数据,我将很难访问数据)。我不了解findByKey()的概念,也无法将数据分配给位于分支页面“下方”的页面

例如:

我的向导模型如下所示:

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中的以下代码将数据分配到第一页效果良好。(谢谢你的回答)

但是,如何将数据分配给第二个CustomerInfo页面作为分支页面的子页面? 我试过各种钥匙,比如

mWizardModel.findByKey("Branch page:Page 2.2").resetData(data);
但是没有运气。我尝试过的所有操作都会导致该特定行出现NullPointerException

请给出建议-提前感谢

第一个问题)从分支检索数据

在EmployerWizardPager中单击MNEXT按钮时

if (mPager.getCurrentItem() == mCurrentPageSequence.size()){

//your example
mWizardModel.findByKey("Alternative 1:Page 2.1").getData().getString(Page.SIMPLE_DATA_KEY);
mWizardModel.findByKey("Alternative 2:Page 2.2").getData().getString(Page.SIMPLE_DATA_KEY);

}
第二个问题)将数据加载到WizardPager

        Bundle bundle = new Bundle();



        Bundle bdl1 = new Bundle();
        bdl1.putString("_","Quick");
        bundle.putBundle("Type of search",bdl1);


        Bundle bdl2 = new Bundle();
        bdl2.putString("_","60");
        bundle.putBundle("HoursPerWeek",bdl2);



        Bundle bdl3 = new Bundle();
        bdl3.putString("address","14 Oak Wood Rd Brighton MA");
        bundle.putBundle("Address",bdl3);


        Bundle bdl4 = new Bundle();
        bdl4.putString("_","$68.00");
        bundle.putBundle("Hourly:Hourly Wage",bdl4);




        mWizardModel.load(bundle);
我不确定这是否是最好的方法,但这就是我如何将数据加载到向导中的方法。我将我的值保存在外部数据库中(也可以保存在SQLite或共享首选项中)

WizardFragment中的一些示例代码用于说明:

new SingleFixedChoicePage(this, "HoursPerWeek")
                    .setChoices("15", "20", "25", "30", "35", "40", "50", "60")
                    .setRequired(true),
标题(也是关键): “搜索类型”、“每周小时数”、“地址”、“小时数:小时工资”(这是一个分支)

关键点: “\u”是我的页面。简单的\u数据\u键(适用于除InfoPages以外的所有值) “地址”是我公司的钥匙

加载到向导中的答案: “快速”,“60”,“马萨诸塞州布莱顿橡树路14号”,“68.00美元”

//EmployerWizardPager中onCreate中的我的代码

        Bundle bundle = new Bundle();



        Bundle bdl1 = new Bundle();
        bdl1.putString("_","Quick");
        bundle.putBundle("Type of search",bdl1);


        Bundle bdl2 = new Bundle();
        bdl2.putString("_","60");
        bundle.putBundle("HoursPerWeek",bdl2);



        Bundle bdl3 = new Bundle();
        bdl3.putString("address","14 Oak Wood Rd Brighton MA");
        bundle.putBundle("Address",bdl3);


        Bundle bdl4 = new Bundle();
        bdl4.putString("_","$68.00");
        bundle.putBundle("Hourly:Hourly Wage",bdl4);




        mWizardModel.load(bundle);
祝你好运