Android 使用罗马努里克';s向导寻呼机示例,如何在以后的页面中访问以前页面中的数据?

Android 使用罗马努里克';s向导寻呼机示例,如何在以后的页面中访问以前页面中的数据?,android,android-fragments,android-viewpager,wizard,Android,Android Fragments,Android Viewpager,Wizard,请原谅我缺乏经验,我正在慢慢自学编程 我已经在我的应用程序中实现了,以获取用户的手机型号和耳机类型。然后我想使用第三页上的这两个结果查询数据库 我有一个数据库查询方法(在我的WizardModel类(示例中为SandwichWizardModel)中),它现在返回数据库的每个条目,并将其放入列表视图中进行选择。我希望能够调整此方法,从第1页和第2页获取字符串,以查询数据库并在第3页上查找匹配项 我得到了以下建议: mWizardModel.findByKey("TITLE_OF_YOUR_PAG

请原谅我缺乏经验,我正在慢慢自学编程

我已经在我的应用程序中实现了,以获取用户的手机型号和耳机类型。然后我想使用第三页上的这两个结果查询数据库

我有一个数据库查询方法(在我的WizardModel类(示例中为SandwichWizardModel)中),它现在返回数据库的每个条目,并将其放入列表视图中进行选择。我希望能够调整此方法,从第1页和第2页获取字符串,以查询数据库并在第3页上查找匹配项

我得到了以下建议:

mWizardModel.findByKey("TITLE_OF_YOUR_PAGE").getData().getString(YourPage.YOUR_FIELD_DATA_KEY)
这在我的代码中等同于:

mWizardModel.findByKey("Phone Model").getData().getString(SingleTextFieldPage.SIMPLE_DATA_KEY);
但我无法解决的是如何获得mWizardModel的实例。我尝试了各种方法,但得到了一个空对象异常。感觉这可能与非活动类中的上下文有关,我还尝试了一个新的活动,使用:

public class Test extends Activity {

HearingTestWizardModel mWizardModel = new HearingTestWizardModel(getApplicationContext());
String testOut;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.testice);

    testOut = mWizardModel.findByKey("Phone Model").getData().getString(SingleTextFieldPage.SIMPLE_DATA_KEY);


    Log.i("The results from before are: ", testOut);
}
}

但我在这方面运气不好。如何创建mWizardModel的实例,以便从中调用数据


如果我需要提供进一步的细节,请询问。这里使用的示例代码是:

向导寻呼机不是为您所需而构建的。您需要将您的输入导入到3。页您可以使用SharedReference来实现这一点。请注意,WizardPager总是在显示下一页之前加载下一页。所以你必须弄清楚你的3。页面实际上对用户可见

您可以在片段中使用以下代码:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
        if (getView() != null) {
            // load data from page 1&2
            refreshView(getView());
        }
    }
}