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 已弃用的问题的主要内容,如果未能解决你的问题,请参考以下文章

已弃用的 OpenGL 功能

如何修复已弃用的“按钮样式”

尝试替换已弃用的 loadnibnamed:owner

用 .on 替换已弃用的 .live [重复]

替换 Java Awt 已弃用的方法

是否有快速替代已弃用的“SKPaymentTransaction.transactionReceipt”?