【问题标题】:GestureDetector Deprecated IssueGestureDetector 已弃用的问题
【发布时间】:2012-10-04 03:11:59
【问题描述】:

我有这个代码

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

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

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

我该如何解决这个问题?

什么是非弃用形式?

【问题讨论】:

    标签: android android-mapview deprecated android-maps


    【解决方案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()));

    【讨论】:

      猜你喜欢
      • 2020-08-01
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 2017-10-03
      • 2011-04-10
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多