java - 从附加的 OnPreDrawListener 对象中获取 ViewTreeObserver 对象

标签 java android android-layout observers

如何让观察者进入监听者? 示例:

ViewTreeObserver myObserver = myLayout.getViewTreeObserver();
myObserver.addOnPreDrawListener(new OnPreDrawListener() {
    @Override
    public boolean onPreDraw() {
        // I want to get the myLayout or myObserver here, 
        // but I don't want to use the lines below
        RelativeLayout myLayout = (RelativeLayout)findViewById(myId);
        myLayout.getViewTreeObserver().removeOnPreDrawListener(this);

最佳答案

我试过玩听众实例, 我不知道它有多准确,但它有效:)

final class MyOnPreDrawListener implements OnPreDrawListener
{
    private RelativeLayout myLayout;

    public void setMyLayout(RelativeLayout layout){
        myLayout = layout;
    }

    @Override
    public boolean onPreDraw() {
        // now I have myLayout here         
        return true;
    }

}

然后我打电话

ViewTreeObserver observer = myLayout.getViewTreeObserver();
MyOnPreDrawListener myListener = new MyOnPreDrawListener();
myListener.setMyLayout(myLayout);
observer.addOnPreDrawListener(myListener);

关于java - 从附加的 OnPreDrawListener 对象中获取 ViewTreeObserver 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22248948/

相关文章:

Java - 可以连接到 netbeans 中的 mysql 服务器,但不能像 applet 一样工作

java - J2ME - 在一个项目中支持不同平台

Java Swing : how do I define how a JTree displays the "user object"?

java - 在Java中使用文本文件携带命令

java - Android音乐播放器同时播放两首歌曲

android - 我可以使用openCV4Android处理Android相机录制的视频吗?

java - android旋转TextView继承父级的宽度

android-studio - 无法加载 com.github.smarteist.autoimageslider :1. 4.0

android - Android Aruco增强现实

java - 奇怪的用户崩溃报告: Null Pointer exception for something that is definitely there