title: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
body: <p>Am new in android,  trying to go to the next Activity through an Adapter, and i am using <code>onBindViewHolder()</code> with an <code>Intent</code> , below is the code :</p>
  
  <pre><code>@Override
      public void onBindViewHolder(CurrencyViewHolder holder, int position) {
  
  
  
          final  BureauRateObject br = itemList.get(position);
          holder.bureauname.setText(br.getBureau_name());
          holder.rates.setText(br.getBuysell());
  
          final String BureauId = br.getBureau_id();
          final String BureauName = br.getBureau_name();
  
  
  
  
          holder.root.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
  
                 Intent i = new Intent(context, SingleForexActivity.class);
                 // i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                  i.putExtra("bureau_id", BureauId);
                  i.putExtra("bureau_name",BureauName);
                  context.startActivity(i);
  
              }
          });
  
  
  
      }
  </code></pre>
  
  <p>and this is the error which comes :</p>
  
  <pre><code>android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
                        at android.app.ContextImpl.startActivity(ContextImpl.java:677)
                        at android.app.ContextImpl.startActivity(ContextImpl.java:664)
                        at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
                        at Adapters.CurrencySelectorAdapter$1.onClick(CurrencySelectorAdapter.java:64)
                        at android.view.View.performClick(View.java:5265)
                        at android.view.View$PerformClick.run(View.java:21534)
                        at android.os.Handler.handleCallback(Handler.java:815)
                        at android.os.Handler.dispatchMessage(Handler.java:104)
                        at android.os.Looper.loop(Looper.java:207)
                        at android.app.ActivityThread.main(ActivityThread.java:5728)
                        at java.lang.reflect.Method.invoke(Native Method)
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
  </code></pre>
  
  <p>I tried out this solution , but the Next Activity doesn't goes back to the previous Activity.</p>
  
  <p><strong>My solution :(But didn't work)</strong></p>
  
  <p><code>i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);</code></p>
  
  <p><strong><em>Below is the entire Adapter code:</em></strong></p>
  
  <pre><code>    package Adapters;
  
  import android.content.Context;
  import android.content.Intent;
  import android.support.v7.widget.RecyclerView;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.Toast;
  
  import com.example.naavanito.eamobileforex2.R;
  import com.example.naavanito.eamobileforex2.SingleForexActivity;
  
  import java.util.Currency;
  import java.util.List;
  
  import Holders.CurrencyViewHolder;
  import model.BureauRateObject;
  
  /**
   * Created by Admin on 1/21/2017.
   */
  
  public class CurrencySelectorAdapter extends RecyclerView.Adapter&lt;CurrencyViewHolder&gt; {
  
      private List&lt;BureauRateObject&gt; itemList;
      private Context context;
  
      public CurrencySelectorAdapter(List&lt;BureauRateObject&gt; itemList, Context context) {
          this.itemList = itemList;
          this.context = context;
      }
  
      @Override
      public CurrencyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
          View layoutview = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_currency_rate,parent,false);
          CurrencyViewHolder rcv = new CurrencyViewHolder(layoutview,context);
          return rcv;
      }
  
      @Override
      public void onBindViewHolder(CurrencyViewHolder holder, int position) {
  
  
  
          final  BureauRateObject br = itemList.get(position);
          holder.bureauname.setText(br.getBureau_name());
          holder.rates.setText(br.getBuysell());
  
          final String BureauId = br.getBureau_id();
          final String BureauName = br.getBureau_name();
  
  
  
  
          holder.root.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
  
                 Intent i = new Intent(context, SingleForexActivity.class);
                 // i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                  i.putExtra("bureau_id", BureauId);
                  i.putExtra("bureau_name",BureauName);
                  context.startActivity(i);
  
              }
          });
  
  
  
      }
  
      @Override
      public int getItemCount() {
          return itemList.size();
      }
  }
  </code></pre>