2010-05-12 84 views
1

当我的应用程序启动时,它会检查它是否存储了登录凭据。如果没有,它会启动另一个活动来提示用户输入这些凭证。我的问题是,当提示活动开始后,第一个活动继续执行,因为提示活动尚未恢复所需要的数据android:暂停一个活动,直到另一个完成

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    tv = new TextView(this); 
    setContentView(tv); 

    promptForLoginInfo(); //method creates intent and starts activity 

    displayCredentials(); //prints data to screen 
} 

输出读取与空指针结束了:“空”,因为程序在登录提示活动返回之前执行“displayCredentials()”。

任何人都有线索该怎么办?

回答

5

您的“promptForLoginInfo()”方法应该调用startActivityForResult。您的“displayCredentials()”方法不应在onCreate()方法中调用,而应在onActivityResult方法中调用。

+0

谢谢。现在,这个问题已经解决了,我们就不得不继续下一步 – mtmurdock 2010-05-12 18:28:01

0

您是否曾尝试在调用displayCredentials()之前检查存储的凭据?如果未找到凭证,可以通过startActivityForResult()方法启动活动,并在onActivityResult()中的提示活动完成后调用displayCredentials()。

1

在promptForLoginInfo();你需要启动activityForResult。 然后你需要移动displayCredentials();从onCreate到onActivityResult

相关问题