【问题标题】:Android Getting Results from another activityAndroid 从另一个活动中获取结果
【发布时间】:2012-11-14 22:11:50
【问题描述】:

我的代码有问题。我想将 SecondActivity 中的字符串传递给 FirstActvity。请注意,FirstActivity 不可见,但仍处于打开状态。当 SecondActivity 完成时,它会将一个字符串传递给 FirstActivity

我的问题是,当 SecondActivity 结束并转到 FirstActivity 时,整个应用程序都会关闭。

FirstActivity 到 SecondActivity:

Intent  intent = new Intent(MainActivity.this, FileChooser.class);
startActivityForResult(intent, 0);

SecondActivity 到 FirstActivity:

Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("filePath", "/sdcard/path1");
setResult(0);
finish();

FirstActivity结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //TODO handle here.         
    Intent intent = getIntent();        
    this.filePath = intent.getExtras().getString("filePath");
}

代码有什么问题?

【问题讨论】:

  • 你已经给出了除了问题所在之外的一切。

标签: java android android-activity


【解决方案1】:

设置 SecondActivity 的结果时,只设置结果代码。而不是setResult(0) 使用setResult(0,intent)

此外,在您的 FirstActivity 的 onActivityResult 中,从 data 参数中获得额外的 - this.filePath = data.getExtras().getString("filePath");

【讨论】:

    【解决方案2】:

    尝试使用

    data.getExtras().getString("filePath");
    

    而不是

    intent.getExtras().getString("filePath");`
    

    【讨论】:

      【解决方案3】:

      尝试使用捆绑包:

      第一个活动;

      public void onClick(View v) {
              Intent intent = new Intent(v.getContext(), FIRSTACTIVITY.class);
              Bundle bundle = new Bundle();
              bundle.putString("filePath","/sdcard/path1");
              intent.putExtras(bundle);               
              startActivity(intent);
          }
      

      第二个活动:

      public void activity_value() {
          Intent i = getIntent();
          Bundle extras=i.getExtras();
          if(extras !=null) {           
              value = extras.getString("filePath");
          }
      }
      

      【讨论】:

        【解决方案4】:

        试试this 例子。它解决了你的问题。

        【讨论】:

          猜你喜欢
          • 2021-10-11
          • 1970-01-01
          • 1970-01-01
          • 2023-01-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-16
          相关资源
          最近更新 更多