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 を配置できますか。Main アクティビティに配置したくありません。

子に startActivityForResult を配置しても機能しませんでした。

前もって感謝します。

4

0 に答える 0