title: Android: startActivityForResult & setResult for a view class and an activity class
body: <p>I am confused and have no idea on how to use the startActivityResults and setResults to get data from previous activity. I have a view class and a activity class. </p>
  
  <p>Basically in my view class i have this dialog and it will actually start the activity class called the colorActivity class. When user selects yes also it will pass the name of the selected circle to the colorActivity class. At the colorActivity class, users are allowed to enter color code for a particular circle and i would like to pass the color code back to the view class. I have problems passing values from activity back to view using the startActivityForResult and setResult method. Adding on, how to make use of the fetched data afterthat?</p>
  
  <p><strong>my code are as follows</strong></p>
  
  <p>Ontouchevent code from my view class:</p>
  
  <pre><code>            @Override
              public boolean onTouchEvent(MotionEvent event) {
  
                  x = event.getX();
                  y = event.getY();
  
  
                  switch (event.getAction()) {
                  case MotionEvent.ACTION_DOWN:
  
  
                      for (int i = 0; i &lt; circles.size(); i++) {
  
  
                          if (circles.get(i).contains(x, y)) {
                              circleID = i;
  
              Handler handler = new Handler();
                                  handler.postDelayed(new Runnable() {
                                      @Override
                                      public void run() {
                                          AlertDialog.Builder builder = new Builder(
                                                  getContext());
                                          final EditText text = new EditText(getContext());
  
                                          builder.setTitle("Adding colors to circles").setMessage(
                                                  "Proceed to Enter color");
                                          builder.setPositiveButton("Yes",
                                                  new DialogInterface.OnClickListener() {
  
                                                      public void onClick(DialogInterface di,
                                                              int i) {
  
                                                          Intent intent = new Intent(
                                                                  getContext(),
                                                                  colorActivity.class);
  
                                                           intent.putExtra("circlename", circleNameList.get(circleID));
  
  
      startActivityForResults(intent, 1); // error incurred here : The method startActivityForResult(Intent, int) is undefined for the type new DialogInterface.OnClickListener(){}
                                                      }
  
                                                  });
                                          builder.setNegativeButton("No",
                                                  new DialogInterface.OnClickListener() {
  
                                                      public void onClick(DialogInterface di,
                                                              int i) {
                                                      }
  
                                                  });
  
                                          builder.create().show();
                                      }
                                  }, 3000);
      break;
  
      }
  
      @Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          if (requestCode == 1) { // Please, use a final int instead of hardcoded
                                  // int value
              if (resultCode == RESULT_OK) {
                   ccode = (String) data.getExtras().getString("colorcode");
          }
  
          }
      }
  
  public static String getColorCode() {
          return ccode;
      }
  </code></pre>
  
  <p>In the colorActivity:</p>
  
  <pre><code>protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.add_ecolor);
  
  
          circlenametextview = (TextView)findViewById(R.id.circlenametextview);
  
  
          String circlename = super.getIntent().getStringExtra("circlename");
            circlenametextview.setText(circlename);//get the circle name
  
  
  savebutton.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View arg0) {
  
                   Intent intent = new Intent(colorActivity.this, ?????);//how to return back to the view class?
  
  
                 colorcode = colorEditText.getText().toString();// I am able to get value right up till this point
                Intent resultIntent = new Intent();
                     resultIntent.putExtra("colorcode", colorcode );
  
                     setResult(Activity.RESULT_OK, resultIntent);
                     finish();
              }// onclick
  
          });
          }
  </code></pre>