gpt4 book ai didi

android - 如何从 onLayout 重新加载界面?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:19 25 4
gpt4 key购买 nike

我有这个 GUI:

线性布局

-TableLayout heading
-ViewFlipper flipper
- TableLayout1
- TableLayout2
- TableLayout3
... (dynamicly added)

我在 vf.onLayout(..) 中更改了 t1 的宽度,但我无法重绘它....请帮忙:/这是代码:

 @Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
super.onLayout(changed, left, top, right, bottom);

Log.i(TAG, "flipper onLayout");

int idx = this.getDisplayedChild();
Log.i(TAG, "flipper displayed child is: " + idx);
this.heading.cols_widths = some_cols_widths;
this.heading.resize_cols();
LinearLayout lay = (LinearLayout) this.heading.getParent();
lay.requestLayout();
}

这让我很生气:/

最佳答案

根据评论,您想在更改 View 时更改 viewFlipper 的“标题”。由于您正在调用父级并调用 requestLayout,只需将 super 调用移至最后,因此您无需调用 requestLayout。

@Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
Log.i(TAG, "flipper onLayout");

int idx = this.getDisplayedChild();
Log.i(TAG, "flipper displayed child is: " + idx);
this.heading.cols_widths = some_cols_widths;
this.heading.resize_cols();

super.onLayout(changed, left, top, right, bottom);
}

或者您可以让 resize_cols() 调用 requestLayout 本身。

关于android - 如何从 onLayout 重新加载界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11050751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com