在OnCreate中,Button.getLeft返回0

时间:2013-04-05 19:01:50

标签: java android

在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?

    }

1 个答案:

答案 0 :(得分:2)

根据this question的答案,您无法在实例化Activity期间检索View对象的getLeft()。对于我链接的案例,他谈到OnResume,但由于OnCreate发生在OnResume in the lifecycle之前,您会看到类似的结果。

要获得解决方案,请执行msg()来电,并将其放至onWindowFocusChanged