title: Start Intent in Adapter
body: <p>I want to start a new activity from this base adapter. </p>
  
  <pre><code>public class EfficientAdapter extends BaseAdapter {
  
      private Activity activity;
      private ArrayList&lt;ComptePost&gt; data;
      private static LayoutInflater inflater = null;
      public ImageLoader imageLoader; 
      public  Boolean isActusAstuce;
      public static int flag = 0, counter=0;
  
      private Context context;
  
      public EfficientAdapter(Context context) {
          this.context = context;     
      }
  
      NVirementEmmeteur main;
  
      int num = 0;
  
      ViewHolder holder;
      static String src;
  
      public EfficientAdapter(Activity a, ArrayList&lt;ComptePost&gt; d) {
          activity = a;
          data = d;
          inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          //  imageLoader = new ImageLoader(activity.getApplicationContext());
          imageLoader=new ImageLoader(activity.getApplicationContext());
      }
  
      public EfficientAdapter(NVirementEmmeteur m) {
          main = m;
      }
  
      @Override
      public int getCount() {
          return data.toArray().length;
      }
  
      @Override
      public Object getItem(int position) {
          return position;
      }
  
      @Override
      public long getItemId(int position) {
          return position;
      }
  
      public static class ViewHolder {
          public TextView one;
          public TextView two;
          public TextView three;
          public ImageView image;
          public RelativeLayout relative_layout;
      }
  
      @Override
      public View getView(final int position, View convertView, ViewGroup parent) {
          View vi = convertView;
          holder.relative_layout.setOnClickListener(new OnClickListener(){
  
              @Override
              public void onClick(View v) {
                  // TODO Auto-generated method stub
                  v.getContext().startActivity(new Intent(context, NVirementEmmeteur.class)); 
              }
          });
          return vi;
      }
  }
  </code></pre>
  
  <p>I tried </p>
  
  <pre><code>context.startActivity(new Intent(context, NVirementEmmeteur.class));
  </code></pre>
  
  <p>and </p>
  
  <pre><code>v.getContext().startActivity(new Intent(context, NVirementEmmeteur.class));
  </code></pre>
  
  <p>but it force closes my application.</p>
  
  <p>The intent should launch inside an <code>onclicklistener()</code> from the list adapter. Can someone tell me how to launch an intent from my efficientadapter.class please.</p>
  
  <p>Here is my logcat output:</p>
  
  <blockquote>
    <p>04-11 10:07:50.878: E/AndroidRuntime(11179): FATAL EXCEPTION: main
    04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.NullPointerException
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.content.ComponentName.(ComponentName.java:75)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.content.Intent.(Intent.java:2863)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at.adapter.EfficientAdapter$1.onClick(EfficientAdapter.java:141)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.view.View.performClick(View.java:2538)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.view.View$PerformClick.run(View.java:9152)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.os.Handler.handleCallback(Handler.java:587)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.os.Handler.dispatchMessage(Handler.java:92)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.os.Looper.loop(Looper.java:130)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at android.app.ActivityThread.main(ActivityThread.java:3687)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at java.lang.reflect.Method.invokeNative(Native Method)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at java.lang.reflect.Method.invoke(Method.java:507)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
    04-11 10:07:50.878: E/AndroidRuntime(11179):  at dalvik.system.NativeStart.main(Native Method)</p>
  </blockquote>