gpt4 book ai didi

java - 扩展android View类并影响所有子类

转载 作者:行者123 更新时间:2023-11-29 08:52:30 26 4
gpt4 key购买 nike

我需要在 Android 中扩展 View 类以覆盖几个方法。

public class ExtendedView extends View {

public ExtendedView(Context context) {
super(context);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE && getParent() != null)
getParent().requestDisallowInterceptTouchEvent(true);
return super.onTouchEvent(event);
}

...
}

Android 中有一些 View 类型派生自 View,例如 ImageView 等。

它们无法访问 ExtendedView 类中的重写方法。

一个解决方案是为所有这些创建扩展类,例如:

public class ExtendedImageView extends ImageView

并覆盖方法。

但是有没有更好的解决方案来避免这样的代码冗余呢?

最佳答案

创建一个 BaseActivity 实现 onTouchEventListener(或类似的东西,不记得了),然后当您有一个需要处理它的 View 时,只需设置 OnTouchListener(this)

当然,让你的activity扩展BaseActivity

问候

关于java - 扩展android View类并影响所有子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com