Roman Nurik的向导寻呼机 - 如何访问收集的数据?

urS*_*Sus 7 android nullpointerexception wizard

我正在尝试使用Roman Nurik的库(https://plus.google.com/113735310430199015092/posts/6cVymZvn3f4)制作一个向导.

我无法从Review Fragment访问收集的数据.我在ReviewFragment中将mCurrentReviewItems公之于众,然后我就这样尝试了

mNextButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (mPager.getCurrentItem() == mCurrentPageSequence.size()) {
            ReviewFragment reviewFragment = (ReviewFragment)  mPagerAdapter.getItem(mPager.getCurrentItem());

            for (ReviewItem item : reviewFragment.mCurrentReviewItems)
                Log.d(MainActivity.TAG, "Item: " + item.getDisplayValue());
            }

        } else {
            if (mEditingAfterReview) {
                mPager.setCurrentItem(mPagerAdapter.getCount() - 1);
            } else {
                    mPager.setCurrentItem(mPager.getCurrentItem() + 1);
            }
        }
   }
});
Run Code Online (Sandbox Code Playgroud)

但它始终为空.

All*_*han 11

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

对于单页变量:

String data = mWizardModel.findByKey("Sandwich:Bread").getData().getString(Page.SIMPLE_DATA_KEY);
Run Code Online (Sandbox Code Playgroud)

对于自定义页面:

String data = 
mWizardModel.findByKey(THE_KEY).getData().getString(CustomerInfoPage.YOUR_DATA_KEY);
Run Code Online (Sandbox Code Playgroud)

如果要将数据分配回向导,请将其放在FragmentActivity中onCreate的末尾:

Bundle data = new Bundle();
if (!TextUtils.isEmpty(DATA_STRING)) {
    data.putString(Page.SIMPLE_DATA_KEY, DATA_STRING);
    mWizardModel.findByKey("Sandwich:Bread"").resetData(data);
}
Run Code Online (Sandbox Code Playgroud)

关键的"三明治:面包"来自这个例子,改变任何适合你的东西.永远不要尝试多重,我认为它或多或少相同.