当我的应用程序启动时,它会检查它是否已存储登录凭据。如果没有,则启动另一个活动以提示用户输入这些凭据。我的问题是,当启动提示活动时,第一个活动继续执行并以空指针结束,因为提示活动尚未返回所需的数据
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”,因为程序在登录提示活动返回之前执行“displayCredentials()”。
任何人都知道该怎么做?
答案 0 :(得分:5)
您的“promptForLoginInfo()”方法应该调用startActivityForResult。不应在onCreate()方法中调用“displayCredentials()”方法,而应使用onActivityResult方法。
答案 1 :(得分:1)
在提示登录信息();你需要启动activityForResult。 然后你需要移动显示Credentials();从onCreate到onActivityResult
答案 2 :(得分:0)
在调用displayCredentials()之前,您是否尝试检查存储的凭据?如果找不到凭据,您可以通过startActivityForResult()方法启动活动,并在提示活动完成onActivityResult()后调用displayCredentials()。