【发布时间】:2014-07-29 13:05:17
【问题描述】:
我写在Fragment的oncreateView中。但是这个控件还没有分配,所以我不能得到它的宽度。请帮帮我。我可以在哪个方法(onresume,onstart ...)中设置它吗?
seekbar1 = (SeekBar)view.findViewById(R.id.sbBar);
if (seekbar1.getWidth() > 0){
}
【问题讨论】:
我写在Fragment的oncreateView中。但是这个控件还没有分配,所以我不能得到它的宽度。请帮帮我。我可以在哪个方法(onresume,onstart ...)中设置它吗?
seekbar1 = (SeekBar)view.findViewById(R.id.sbBar);
if (seekbar1.getWidth() > 0){
}
【问题讨论】:
这与“alloc”无关(如果您在谈论内存分配)。问题是实际布局是稍后完成的,而不是在任何 Activity 或 Fragment 生命周期方法中。这个答案可能对您有所帮助:https://stackoverflow.com/a/2114495/1418097
【讨论】:
在你的情况下试试这个工作
seekbar.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
int w = seekbar.getWidth();
}
});
【讨论】: