Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将数据从片段容器活动传递到另一个活动_Java_Android_Tensorflow_Computer Vision - Fatal编程技术网

Java 如何将数据从片段容器活动传递到另一个活动

Java 如何将数据从片段容器活动传递到另一个活动,java,android,tensorflow,computer-vision,Java,Android,Tensorflow,Computer Vision,我正在开发一个android应用程序,在android上使用tensorflow预测食物项目。我遵循说明并使用提供的代码。我添加了一个额外的活动,并使其成为使用FAB启动CameraActivity的主要活动。我想做的是显示片段Camera2BasicFragment中显示的预测只要我按下导航栏上的后退按钮,就可以从活动CameraActivity运行到我的主活动上的toast。您还可以从教程链接的第2页找到完整代码 Camera2BasicFragment private void sho

我正在开发一个android应用程序,在android上使用tensorflow预测食物项目。我遵循说明并使用提供的代码。我添加了一个额外的活动,并使其成为使用FAB启动CameraActivity的主要活动。我想做的是显示片段Camera2BasicFragment中显示的预测只要我按下导航栏上的后退按钮,就可以从活动CameraActivity运行到我的主活动上的toast。您还可以从教程链接的第2页找到完整代码

Camera2BasicFragment

  private void showToast(final String text) {
    final Activity activity = getActivity();
    if (activity != null) {
      activity.runOnUiThread(
          new Runnable() {
            @Override
            public void run() {
              textView.setText(text);
            }
          });
    }
  }
CameraActivity.java

public class CameraActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_camera);
    if (null == savedInstanceState) {
      getFragmentManager()
          .beginTransaction()
          .replace(R.id.container, Camera2BasicFragment.newInstance())
          .commit();
    }

  }
}
floatingActionButton1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                //TODO something when floating action menu third item clicked
                Intent i = new Intent(MainActivity.this, CameraActivity.class);
                startActivityForResult(i, 1);

            }
        });
MainActivity.java

public class CameraActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_camera);
    if (null == savedInstanceState) {
      getFragmentManager()
          .beginTransaction()
          .replace(R.id.container, Camera2BasicFragment.newInstance())
          .commit();
    }

  }
}
floatingActionButton1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                //TODO something when floating action menu third item clicked
                Intent i = new Intent(MainActivity.this, CameraActivity.class);
                startActivityForResult(i, 1);

            }
        });

如果我答对了,您希望将数据从CameraActivity传输到MainActivity

然后你可以使用意图

 public void onClick(View v) {
            //TODO something when floating action menu third item clicked
            Intent i = new Intent(CameraActivity.this,MainActivity);
            i.putExtra("KEY","suggestionValue");
            startActivityForResult(i, 1);
  }
然后在MainActivity上,您可以像这样接收它

{
  String value = getIntent().getStringExtra("KEY");
}
如果您对在片段之间传递值感兴趣,那么您可以使用

Fragment fragment = new SomeFragment();
Bundle bundle = new Bundle();
bundle.putString(key, value);
fragment.setArguments(bundle);
然后在接收片段的onCreate中,您可以调用

Bundle bundle = this.getArguments();
if (bundle != null) {
        int myInt = bundle.getInt(key, defaultValue);
}
我希望这消除了您对在android活动和片段中传递值的疑虑。 阅读更多关于