これらのボタンを備えた 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 を配置できますか。Main アクティビティに配置したくありません。
子に startActivityForResult を配置しても機能しませんでした。
前もって感謝します。