title: Dynamically creating multiple imageButtons Makes drag and drop difficult
body: <p>I have a dialog menu setup for the user to pick a building which they wish to build. When they press the buy button, the building is automatically inserted into the activity. The issue is that when more than one is bought, then moving the most recently bought building will also move the second most recently bought building. I am not positive how to fix this issue. I would see if setting the new buildings in a frame layout rather than a linear layout would help, but my drag and drop does not work if I do it that way. </p>
  
  <p>Here is the code for the imagebutton being set up after the buy button is pressed:</p>
  
  <pre><code>            layout = (LinearLayout) findViewById(R.id.newColonyHutLayout);
              buyColonyHut = (Button) buildingSelect.findViewById(R.id.buyColonyHut);
              buyColonyHut.setText("Buy");
              buyColonyHut.setBackgroundColor(-65536);
              buyColonyHut.setOnClickListener(new OnClickListener()
              {
                  @Override
                  public void onClick(View v)
                  {
                      //get current amount of rock and check if it is enough to buy
                      data = new Database(runGraphics.this);
                      data.open();
                      rockAmount = data.getRockAmount();
                      data.close();
                      if (rockAmount &gt;= 100)
                      {
                          //take away spent money and update database
                          data.open();
                          rockAmount -= 100;
                          data.rockAmountEntry(rockAmount);
                          data.close();
  
                          //update the scores
                          updateScores();
  
                          //close the dialog
                          buildingSelect.dismiss();
                          buildMoreButton.setBackgroundColor(-65536);
  
                          //they have enough rock, build the building
                          newColonyHut = new ImageButton(runGraphics.this);
                          newColonyHut.setBackgroundResource(R.drawable.mainhut);
                          newColonyHut.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
                          layout.addView(newColonyHut);
                          newColonyHut.setOnTouchListener(new OnTouchListener()
                          {   
                              @Override
                              public boolean onTouch(View v, MotionEvent event) 
                              {
                                  if (event.getAction() == MotionEvent.ACTION_DOWN)
                                  {
                                      newColonyHutSelected = true;
                                  }//end if
  
                                  if (event.getAction() == MotionEvent.ACTION_UP)
                                  {
                                      if (newColonyHutSelected == true)
                                      {
                                          newColonyHutSelected = false;
                                      }//end if
                                  }//end if
                                  else if (event.getAction() == MotionEvent.ACTION_MOVE)
                                  {
                                      if (newColonyHutSelected == true)
                                      {
                                          LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(v.getWidth(), v.getHeight());
                                          params.setMargins((int)(event.getRawX() - event.getRawY() / 5), (int) (event.getRawY() - v.getHeight()), (int) (event.getRawX() - v.getWidth() / 5), (int) (event.getRawY() - v.getHeight()));
                                          v.setLayoutParams(params);
                                      }//end if
                                  }//end else
  
                                  return false;
                              }//end onTouch function
  
                          });//end setOnTouchListener
                      }//end onClick function
                  });//end onClickListener
  </code></pre>
  
  <p>here is the xml:</p>
  
  <pre><code>&lt;FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"&gt;
  
      &lt;LinearLayout
          android:id="@+id/newColonyHutLayout"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical"&gt;
  
          &lt;ImageButton
              android:id="@+id/newColonyHut"
              android:visibility="invisible"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:background="@drawable/mainhut" /&gt;
      &lt;/LinearLayout&gt;
  &lt;/FrameLayout&gt;
  </code></pre>