23

I have a RelativeLayout with a button inside it. Once the user clicks on that button, I would like to change the background of the parent view (RelativeLayout). I know I can do this by storing the parent view in a variable or setting a tag on the button, but I'd lime to avoid that (I have very good reasons for not wanting this). Isn't there a way to just access the parent view from the button itself?

user496854
  • 6,461
  • 10
  • 47
  • 84

1 Answers1

66

Try View.getParent():

Button yourBtn = (Button) findViewById(R.id.your_btn);
RelativeLayout yourRelLay = (RelativeLayout) yourBtn.getParent();
Floern
  • 33,559
  • 24
  • 104
  • 119
  • I'll give it a shot, but I didn't realize that you can cast .getParent() to the view that you want. I'll see if that works – user496854 Jan 13 '11 at 04:36
  • 1
    I knew that the ViewParent was the base class, but it didn't even occur to me that i could cast it to the type of parent. What a fool! Thanks Floern. – Dean Thomas Jan 30 '11 at 15:33