我正在尝试使用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); } } } });
但它始终为空.
解决方法
if if(mPager.getCurrentItem()== mCurrentPageSequence.size()){}
对于单页变量:
String data = mWizardModel.findByKey("Sandwich:Bread").getData().getString(Page.SIMPLE_DATA_KEY);
String data = mWizardModel.findByKey(THE_KEY).getData().getString(CustomerInfoPage.YOUR_DATA_KEY);
如果要将数据分配回向导,请将其放在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); }
关键的“三明治:面包”来自这个例子,改变任何适合你的东西.永远不要尝试多人,我认为它或多或少是一样的.