Cómo obtener una referencia al grupo de vista principal

Estoy creando una forma escalable agregando una forma y manejándolas como vistas separadas a un ViewGroup. Una vez que se hace clic en un controlador, ¿cómo puedo obtener una referencia al ViewGroup para que pueda escalar todo? handle.getParent () devuelve null. Mi ViewGroup se creó mediante programación.

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; } } 

Utilice SelectorView.this.getParent () en lugar de this.getParent ()

 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)SelectorView.this.getParent(); parentView.setX(100); parentView.setY(100); break; } } return true; } } 
  • Android: El uso de FEATURE_NO_TITLE con ViewGroup personalizado deja espacio en la parte superior de la ventana
  • Stackoverflow error en la vista
  • Android View y ViewGroup
  • Estado de envío de los controles compuestos
  • Activity.addContentView (Vista) == ViewGroup.addContentView (Ver)?
  • Las vistas dentro de un Grupo de vistas personalizado no se muestran
  • Android hacer la forma de diseño personalizado
  • RemoveView no funciona después de LayoutInflater.inflate (resource, root, true)
  • Android ViewGroup crash: Intenta leer desde el campo 'int android.view.View.mViewFlags' en una referencia de objeto nulo
  • Cómo agregar un marcador pin en la vista de la imagen en android
  • Cómo crear un grupo de vistas personalizado en android con el ejemplo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.