0

In Android application,
I create a LinearLayout which contains a TableLayout which contains some rows and one of the rows contains a TextView called mText1

I set up a pop up window with this LinearLayout with mText1 setting as following :
mText1.getLayoutParams().height = OLD VALUE

Then when in the pop up window in one other row of the table a click on an ImageView happens by the user, I'd like to change the height of mText1 as following :
mText1.getLayoutParams().height = NEW VALUE

The problem is this will not take effect but when I type the following code, it takes effect:
mText1.setGravity(Gravity.CENTER)

Or if I type the following code instead of the previous one, it takes effect too:
mText1.setText("some value")

Why?

AndroidHV
  • 369
  • 1
  • 9

1 Answers1

1

You need to call requestLayout() after changing the LayoutParams.

requestLayout()

Call this when something has changed which has invalidated the layout of this view. This will schedule a layout pass of the view tree.

setGravity and setText are handling this for you.

kAliert
  • 768
  • 9
  • 21