0

別のアプリケーションを呼び出すことができるアプリケーションがあります。この 2 番目のアプリケーションでは、ユーザーはいくつかのアクションを実行でき、データはメイン アプリケーションに返されます。ユーザーが 2 番目のアプリケーションに移動し、予期されたフローを実行する代わりに戻るボタンを押すまで、すべてが正常に機能します。

もちろん、データがないため、メイン アプリケーションの OnActivityResult メソッドで null ポインター例外がスローされます。

このようなものをどのように処理しますか?また、2 番目のアプリケーション コードにアクセスできないため、アプリケーションはサード パーティのソフトウェアを呼び出しているだけです。

4

1 に答える 1

2

問題の変数にアクセスしようとしない場合は、nullかどうかを確認します。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(data != null) {
        List<String> words = data.getStringArrayListExtra("words");
        if(words != null) {
            // Do something
        }
    }
}

それが選択肢ではない場合、私は現在の状況を推測することしかできないので、できれば関連するコードのサンプルを投稿することによって、いくつかのコンテキストを提供する必要があります。

于 2012-07-25T01:25:06.017 に答える