1

アプリが起動すると、ログイン資格情報が保存されているかどうかがチェックされます。そうでない場合は、別のアクティビティを開始して、ユーザーにそれらの資格情報の入力を求めます。私の問題は、プロンプト アクティビティが開始されると、プロンプト アクティビティがまだ必要なデータを返していないため、最初のアクティビティが実行を継続し、ヌル ポインターで終わることです。

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()」を実行するため、出力は「null」になります。

誰が何をすべきか手がかりを持っていますか?

4

3 に答える 3

5

「promptForLoginInfo()」メソッドはstartActivityForResultを呼び出す必要があります。「displayCredentials()」メソッドは、onCreate() メソッドではなく、onActivityResultメソッドで呼び出す必要があります。

于 2010-05-12T14:57:12.127 に答える
1

promptForLoginInfo(); で activityForResult を開始する必要があります。次に、displayCredentials(); を移動する必要があります。onCreate から onActivityResult へ

于 2010-05-12T14:58:16.853 に答える
0

displayCredentials() を呼び出す前に、保存されている資格情報を確認しようとしましたか? 認証情報が見つからない場合は、startActivityForResult() メソッドでアクティビティを開始し、プロンプト アクティビティが onActivityResult() で終了した後に displayCredentials() を呼び出すことができます。

于 2010-05-12T14:57:36.957 に答える