2

次の一般的な問題がありますが、簡単ですが、これ以上何ができるかわかりません。結果AnotherActivityから始まるMainActivityがあります。

I have ( MainActivityextends Activity):

Intent i = new Intent(MainActivity.this, Altele.class);
startActivityForResult(i, 0);
...

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Toast something; //toast NOT showing
    webview.loadUrl(data.getStringExtra("adresa"));
}

I have ( AnotherActivityextends ListActivity):

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    Toast something; //toast showing
    Intent intentMessage = new Intent();        
    intentMessage.putExtra("adresa", something);
    setResult(RESULT_OK, intentMessage);
    finish();       
}

さて、私が何をしても、からのデータAnotherActivityMainActivity. このサンプルでは、requestCode​​ とresultCodeは同じものなので、わざと省略しています。つまり、私がここに持っているものは、基本的にインターネット全体にありますが、私にはうまくいきません。何か案は?

ソースコード: http://www3.zippyshare.com/v/13090519/file.html

更新 私はあることに気づきました。アプリケーションが起動したらすぐに結果の 2 番目のアクティビティを開始すると、メイン アクティビティの onActivityResult がトリガーされます。アプリケーションの開始後 2 秒待つか、2 番目のアクティビティを実行して結果を再試行しても、何も起こりません。

4

6 に答える 6

0

「putExtra」を実行し、「getStringExtra」を取得しようとしています。「putStringExtra」または「getExtra」のいずれかを使用する必要があります。

于 2013-07-04T08:01:21.117 に答える
0

これを試してみてもいいかもしれません

startActivityForResult(i, **2**);

. . .

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
  super.onActivityResult(requestCode, resultCode, intent);
    switch (requestCode) {
     case **2**:
        toast something;//toast NOT showing
        webview.loadUrl(data.getStringExtra("adresa"));
     break;
    }
}

リストビューでは次のように変更できます

setResult(0, (new Intent()).setAction(i.getStringExtra("String")));
于 2013-07-04T08:01:58.440 に答える
0

マニフェスト ファイルに、開始するアクティビティの singletask が含まれていないことを確認してください。

于 2013-07-04T09:03:36.617 に答える
0

遅い答えですが、おそらく誰かに役立ちます。AndroidManifest.xml ファイルの MainActivity の定義に次の行があることに気付いたとき、私は同じ問題を抱えていました

android:noHistory="true"

この行を次のように修正すると、問題はなくなりました

android:noHistory="false"

実際、行全体を削除することもできます (このリンクを参照してください)。

于 2014-01-07T16:01:59.480 に答える
0

これらがあなたを助けますように..

INTENTアクティビティ間でデータを渡すために使用する代わりに、使用してみてくださいSharedPreference

データを保存でき、データを簡単に取得できます。

これらがあなたを助けることを願っています..

于 2013-07-04T10:00:49.763 に答える