Immer eine Referenz auf das parent-ViewGroup

Ich bin die Schaffung einer skalierbaren Form durch das hinzufügen einer Form und Griffe als separate Ansichten zu einer ViewGroup. Sobald ein handler geklickt wird, wie bekomme ich eine Referenz auf die ViewGroup, so dass ich skalieren kann alles? Griff.getParent() null zurück. Meiner ViewGroup erstellt wurde programmgesteuert.

public class ShapeView extends ViewGroup {

    private SelectorView mSelectorView;

     public ShapeView (Context context) {
          super(context);
          RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(200, 200);
          this.setLayoutParams(p);
          mSelectorView = new SelectorView(context);
          this.addView(mSelectorView);
    }
}


public class SelectorView extends View {

public RectangleDrawable mRectangleDrawable;

    public SelectorView (Context context) {
          super(context);
          Log.v(TAG, "constructor");
          mRectangleDrawable = new RectangleDrawable();
          RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(20, 20);
          this.setLayoutParams(p);
    }

    @Override
    protected void onDraw(Canvas canvas) {  
          super.onDraw(canvas);
          mRectangleDrawable.draw(canvas); 
    }


    public boolean onTouchEvent(MotionEvent event) {

          switch (event.getAction()) {
             case MotionEvent.ACTION_DOWN: {
               ViewGroup parentView = (ViewGroup)this.getParent();
               parentView.setX(100);
               parentView.setY(100);
               break;
              }
           }
           return true; 
    }

}
Bitte poste den code, den Sie verwenden, fügen Sie die Griffe und für die Reaktion auf die Klicks.
Hinzugefügt mehr details
Bitte fügen Sie den code, Griffe Klicks.
Ich habe aktualisiert, der code. Danke.

InformationsquelleAutor KcYxA | 2012-01-09

Schreibe einen Kommentar