在OnCreate中Button.getLeft返回0.按钮是动态创建的,Button.performClick()工作正常。如何离开OnCreate?在OnCreate之后,我可以得到真正的左值。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
create_buttons();
final Button bt = (Button) findViewById(Active);
bt.performClick();
msg(bt.getLeft()); //returns 0, why?
}
答案 0 :(得分:2)
根据this question的答案,您无法在实例化Activity期间检索View对象的getLeft()。对于我链接的案例,他谈到OnResume
,但由于OnCreate
发生在OnResume
in the lifecycle之前,您会看到类似的结果。
要获得解决方案,请执行msg()
来电,并将其放至onWindowFocusChanged