title: Show/Hide ImageView on Button click
body: <p>I have a RelativeLayout completely created within java, not using xml layout. 
  I have a few buttons on the left if my screen. I want to click on one button and show a default image from my res/drawable next to the button and make it disappear again on second click.
  What I have tried was toggling the visibility but my onClick() raises a FATAL EXCEPTION, NullPointer Exception.</p>
  
  <p>This is my code so far. Hardcoded the image shows right when I set <em>picview.setVisibility(View.INVISIBLE);</em> by hand. What I am doing wrong in the onClick() ?</p>
  
  <pre><code>    private ImageView picview;
  
          //*snip* loads of other code
  
      //Show Image Button
      ImageButton show_pic = new ImageButton(this);
      show_pic.setBackgroundColor(Color.WHITE);
      show_pic.setOnClickListener(new OnClickListener()
      {
  
          @Override
          public void onClick(View v) {
              if(picview.getVisibility() == View.INVISIBLE)
               {
               picview.setVisibility(View.VISIBLE);
               } 
              else if (picview.getVisibility() == View.VISIBLE)
               {
               picview.setVisibility(View.INVISIBLE);
               }          
              }
  
      });
  
      params = new RelativeLayout.LayoutParams(40, 40);
      params.topMargin = 10;
      params.leftMargin = 10;
      params.addRule(RelativeLayout.BELOW, button2_id);
      rl.addView(show_pic, params);
  
      //Imageview loaded from drawable
      ImageView picview = new ImageView(this);
      params = new RelativeLayout.LayoutParams(200, 400);
      params.topMargin = 0;
      params.leftMargin = 30;
      params.addRule(RelativeLayout.RIGHT_OF, button2_id);
      picview.setImageResource(R.drawable.my_image);
      picview.setVisibility(View.INVISIBLE);
      rl.addView(picview, params);
  
      this.setContentView(rl);
  </code></pre>