java - 在 OnCreate Button.getLeft 返回 0

标签 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?

    }

最佳答案

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

要获得解决方案,请调用 msg() 并将其放到 onWindowFocusChanged

关于java - 在 OnCreate Button.getLeft 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841517/

相关文章:

java - 在调整大小时缩放地址表单

php - 为什么我不能从 android 获取 php 中的值?

android - 将 ExpandableListView 添加到包含其他元素的选项卡

android - 错误 : duplicate files during packaging of APK

java - 为什么 Java 允许在旧值和新值均为 null 时触发属性更改

java - 调用 SSL 服务的 Apache CXF 客户端问题

java - 糟糕的 Google Cloud SQL 性能

java - Apache POI with Android -- 如何创建、阅读、编写、删除 PowerPoint 演示文稿?

java - 用于 Android 中网络通信的最佳包.. Java/Apache?

Java IP地址代理