GestureDetector 已弃用的问题
Posted
技术标签:
【中文标题】GestureDetector 已弃用的问题【英文标题】:GestureDetector Deprecated Issue 【发布时间】:2012-10-04 03:11:59 【问题描述】:我有这个代码
itemizedOverlay = new MyItemizedOverlay(drawable,this);
itemizedOverlay.setGestureDetector(new GestureDetector(new MyGestureDetecor()));
但 new GestureDetector
在 Eclipse 中被标记为已弃用。
我想避免使用已弃用的方法。
我该如何解决这个问题?
什么是非弃用形式?
【问题讨论】:
【参考方案1】:选择其他构造函数之一。有five defined constructors on GestureDetector
。两个——那些不包括Context
作为第一个参数的——被标记为已弃用。您正在使用其中之一。
【讨论】:
@CommonsWare 我应该传递什么作为上下文? @ThEuSeFuL:我认为您的Activity
很方便,并且可能是候选人。
@CommonsWare 我刚刚想通了,现在我认为它可以工作了。使用 getBaseContext()【参考方案2】:
只有两个已弃用的构造函数。如果您将上下文添加到 GestureDetector(context, listener),则不会被弃用。
【讨论】:
我如何在类手势检测器中获取上下文 @Sridhar 有几种方法。Activity
继承自 Context
,因此您可以在 Activity 中使用 this
,或者您也可以使用 getApplicationContext()
。另请参阅@CommonsWare 答案的 cmets。【参考方案3】:
1 尝试将上下文添加到您的方法中:`
itemizedOverlay = new MyItemizedOverlay(drawable,this); itemizedOverlay.setGestureDetector(上下文上下文 new GestureDetector(new MyGestureDetecor()));`
2 如果您已经在方法中调用了类 Context,请尝试:
itemizedOverlay = new MyItemizedOverlay(drawable,this);
itemizedOverlay.setGestureDetector(new GestureDetector(context new MyGestureDetecor()));
【讨论】:
以上是关于GestureDetector 已弃用的问题的主要内容,如果未能解决你的问题,请参考以下文章