0

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 で以下のコードを使用すると、最初のページにデータを割り当てることができます。(ここでアレンチャンの答えに感謝します)。

    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 のサブページとして機能する 2 番目の CustomerInfoPage にデータを割り当てるにはどうすればよいでしょうか? 私はあらゆる種類のキーを試しました

mWizardModel.findByKey("Branch page:Page 2.2").resetData(data);

しかし運がない。私が試したことはすべて、その特定の行で NullPointerException を引き起こします。

アドバイスをお願いします - 前もって感謝します!

4

1 に答える 1