手势检测器已过时问题

32

我有这段代码

itemizedOverlay = new MyItemizedOverlay(drawable,this);
itemizedOverlay.setGestureDetector(new GestureDetector(new MyGestureDetecor()));

但是在Eclipse中,new GestureDetector被标记为已弃用

我想避免使用已弃用的方法。

我该如何解决这个问题?

有没有非弃用形式?

3个回答

66

请选择其他构造函数。在 GestureDetector 上定义了 五个构造函数。其中两个 -- 不包括 Context 作为第一个参数的构造函数 -- 被标记为已弃用。您正在使用其中之一。


@CommonsWare 我应该传什么样的上下文? - ThE uSeFuL
@ThEuSeFuL:我会认为你的“Activity”很方便,是一个很有可能的选择。 - CommonsWare
3
@CommonsWare 我刚刚弄明白了,现在应该可以工作了。我使用了 getBaseContext()。 - ThE uSeFuL

21

如何在类手势检测器中获取上下文。 - TechArcSri
@Sridhar 有几种方法。Activity 继承自 Context,因此您可以在 Activity 中使用 this,或者也可以使用 getApplicationContext()。还请参阅 @CommonsWare 答案中的评论。 - Olaf Dietsche

-2

1 尝试在您的方法中添加上下文:

itemizedOverlay = new MyItemizedOverlay(drawable,this); itemizedOverlay.setGestureDetector(Context context new GestureDetector(new MyGestureDetecor()));

2 如果您的方法已经调用了上下文类,请尝试:

itemizedOverlay = new MyItemizedOverlay(drawable,this); itemizedOverlay.setGestureDetector(new GestureDetector(context new MyGestureDetecor()));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接