0

我有一个带有这些按钮的 3 个按钮的主要活动,我将值传递给我的孩子 2 号活动,在孩子 2 中我用这些值做一些事情。

主类:

    uopgleuf = (Button) findViewById(R.id.fullslot);
   uopgleuf.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    Intent i = new Intent(UopActivity.this, fullslotActivity.class); // Go to child 2.
    Bundle b = new Bundle();
    b.putString("material", mat.getSelectedItem().toString());
        b.putString("dm", freesdia.getSelectedItem().toString());
        b.putString("endm", endmill.getSelectedItem().toString());
        i.putExtras(b);
        startActivity(i);
    }
   });

……

儿童2班:

 public final static int SUCCESS_RETURN_CODE = 1;

  Bundle b = getIntent().getExtras(); 
  mater = b.getString("material");
  d = b.getString("dm");
  endmill = b.getString("endm");

用这些值做点什么。在同一个孩子 2 类中,我在最后设置了这些代码:

 Intent intent = new Intent(fullslotActivity.this, dataActivity.class); // Want to go to child 1 but it return to Main class.               
                Bundle extras = new Bundle(); 
                extras.putString("snedebreedte", "ae");
                intent.putExtras(extras);
                setResult(SUCCESS_RETURN_CODE, intent);
                finish();

当我按下孩子 2 中的按钮时,我会将值返回给孩子 1 并将值放入 TextViews。

孩子1班:

protected static final int SUB_ACTIVITY_REQUEST_CODE = 1;

在同一个班级:

    @Override  
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     super.onActivityResult(requestCode, resultCode, data);

     if(requestCode ==  SUB_ACTIVITY_REQUEST_CODE){
    Bundle b = data.getExtras();
    snedeb.setText(b.getString("snedebreedte"));
}

现在我的问题是当我完成孩子 2 时,值会自动返回到主要活动。

这不是我想要的,有解决方案。

我可以放置 startActivityForResult 吗?我不想把它放在主要活动中。

将 startActivityForResult 放在 child 中不起作用。

提前致谢。

4

0 回答 0