我有一个带有这些按钮的 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 中不起作用。
提前致谢。