当我的应用程序启动时,它会检查是否已存储登录凭据。如果没有,它会启动另一个 Activity 来提示用户输入这些凭据。我的问题是,当提示 Activity 启动时,第一个 Activity 继续执行并以空指针结束,因为提示 Activity 尚未返回所需的数据
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
}
输出显示为:“null”,因为程序在登录提示 Activity 返回之前执行了“displayCredentials()”。
有人知道该怎么做吗?
最佳答案
您的“promptForLoginInfo()”方法应该调用 startActivityForResult .您的“displayCredentials()”方法不应在 onCreate() 方法中调用,而应在 onActivityResult 中调用方法。
关于android:暂停一个 Activity 直到另一个 Activity 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819902/