我正在尝试使用 Roman Nurik 的库 ( https://plus.google.com/113735310430199015092/posts/6cVymZvn3f4 ) 制作一个向导。
我无法访问从评论 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 (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);
}
关键“三明治:面包”来自示例,更改任何适合您的内容。千万不要尝试 multi one,我认为它或多或少是一样的。
关于android - Roman Nurik 的 Wizard pager - 如何访问收集的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14765510/