代码之家  ›  专栏  ›  技术社区  ›  allanae

是否必须返回到从活动B调用startActivityForResult的活动A?

  •  0
  • allanae  · 技术社区  · 9 年前

    我有两个 activities 我希望他们能够使用相同但不同的数据进行交互 views/layout ,我可以在这两个活动中执行相同的操作。

    我被建议使用 startActivity 而不是 startActivityForResult 因为返回调用活动(活动A)是可选的,但我不认为这是可行的。

    我看了又看,但一切都建议我使用 。如果可能,那么不返回调用活动将如何影响程序?请告知,谢谢。

    2 回复  |  直到 9 年前
        1
  •  1
  •   John Lee Nabin Bhandari    9 年前

    不,这不是强制性的。使用 startActivity 和 startActivityForResult 几乎相同,只是如果您使用 onActivityResult .

    sartActivityForResult 如果 你真的不需要回一些数据。

        2
  •  0
  •   Upendra Shah    9 年前

    现有活动的方法。如果你不需要结果,那么你可以简单地使用 startActivity() startactivity() 或者如果你使用 然后可以忽略中第二个活动的意图数据 onActivityResult() 。您可以实施 这样地

    Intent i = new Intent(this, SecondActivity.class);
    startActivityForResult(i, 111);
    

    SecondActivity.java

    Intent returnIntent = new Intent();
    returnIntent.putExtra("result",result);
    setResult(Activity.RESULT_OK,returnIntent);
    finish();
    

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    
        if (requestCode == 111) {
            if(resultCode == Activity.RESULT_OK){
              // got result from second activity
                String result=data.getStringExtra("result");
            }
            if (resultCode == Activity.RESULT_CANCELED) {
                //Write your code if there's no result
            }
        }
    }//onActivityResult