将 ShowCaseView 与 ActionBarCompat / ActionBarSherlock Android 结合使用

2024-01-01

我在用ShowcaseView图书馆来自here https://github.com/Espiandev/ShowcaseView在我的安卓应用程序中。我想用ShowcaseView with Actionbar Compat。但我不知道如何使用它?我尝试过以下代码,但它抛出NullPointerexception。请帮我解决这个问题。

谢谢。

Code :

public class Activity1 extends ActionBarActivity implements
        OnShowcaseEventListener {

    ShowcaseView sv;
    ShowcaseView.ConfigOptions co;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        try {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.screen1);
            co = new ShowcaseView.ConfigOptions();
            co.hideOnClickOutside = false;
            co.block = false;
       }catch (Exception ex) {
            ex.printStackTrace();
       }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);

        ActionViewTarget target = new ActionViewTarget(this,
                ActionViewTarget.Type.OVERFLOW);
        sv = ShowcaseView.insertShowcaseView(target, this, "Edit",
                "Click here to edit image.", co);
     }
}

错误日志:

11-29 17:12:19.792: E/AndroidRuntime(20991): FATAL EXCEPTION: main
11-29 17:12:19.792: E/AndroidRuntime(20991): java.lang.NullPointerException
11-29 17:12:19.792: E/AndroidRuntime(20991):    at com.espian.showcaseview.targets.ViewTarget.getPoint(ViewTarget.java:22)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at com.espian.showcaseview.targets.ActionViewTarget.getPoint(ActionViewTarget.java:52)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at com.espian.showcaseview.ShowcaseView$3.run(ShowcaseView.java:240)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at android.os.Handler.handleCallback(Handler.java:725)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at android.os.Looper.loop(Looper.java:137)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at android.app.ActivityThread.main(ActivityThread.java:5283)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at java.lang.reflect.Method.invokeNative(Native Method)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at java.lang.reflect.Method.invoke(Method.java:511)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
11-29 17:12:19.792: E/AndroidRuntime(20991):    at dalvik.system.NativeStart.main(Native Method)

我解决了这个问题。替换代码OnCreateOptionsMenu()用下面的代码。

Code:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);

        sv = ShowcaseView.insertShowcaseViewWithType(ShowcaseView.ITEM_ACTION_ITEM,
            R.id.action_edit, FaceFrameActivity_dual.this,"Edit", 
           "Click here to edit image.", co);
     }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ShowCaseView 与 ActionBarCompat / ActionBarSherlock Android 结合使用 的相关文章

随机推荐

  • IE8 标准不支持 array.map 函数?

    我没有 IE8 所以我正在从 IE10 中测试 IE8 当我切换到文档模式的 IE8 标准 时 数组对象的 javascript 映射函数给出 javascript 错误 对象不支持属性或方法 映射 但是当我切换到文档模式的 标准 时 没有
  • Java中的命令行查询

    我正在访问 MongoDB 并且希望在 Java 中重用典型的命令行查询 我知道可以使用 BasicDBObject 但我想使用如下命令行查询 db MyCollection find 我现在尝试使用数据库的 command 方法 Mong
  • 如何在新闻通讯中创建悬停效果?

    我正在创建一份时事通讯 并且我希望面板可以在鼠标悬停时更改背景颜色 鉴于时事通讯不会有标题 我正在内联定义所有样式 我很确定大多数流行的邮件客户端都会阻止 JS 所以我想知道是否可以在 style 属性中定义悬停效果 或者有没有其他方案可以
  • sed - 删除破折号之前的所有字符

    我有一个文件名列表 我想删除第一个实例之前的所有字符 因此 之前 列表中的以下名称将显示为 之后 列表中的名称 Before Adam James Welcome Home txt Mike Harry One Upon A Time tx
  • 将彩虹颜色映射到 RGB

    假设我有一个带构造函数的 RainbowColorsMapper 类RainbowColorsMapper int n 其中 n gt 2 现在我想要使用该方法获得从红色到紫色的彩虹颜色的连续映射mapper getColor int nu
  • C# 泛型及其具体实现

    是否可以在 C 中创建泛型方法并为给定类型添加具体实现 例如 void Foo
  • Ruby gem 是否存在像木马一样的风险?

    我正要安装一个我没听说过的人的 Ruby gem 但有些事情让我想到 这个人是谁 由于 gem 系统可以访问互联网 因此 Ruby gem 是否存在访问您计算机上的私有数据并将其传输到其他地方的风险 或者有针对这种情况的保护措施吗 当然有
  • 使用 cout 语句执行 while 循环

    所以我有一个关于do while环形 我正在学习 C 我知道你可以写这样的东西 do while a lt 10 cout lt lt message 关键是 我知道这在 C 中是可能的 但我们真的这样做了吗 我的意思是 cout thin
  • 如何解决 SQL0418N 错误

    我正在使用下面的语句来更新 插入一些数据到表中 如果我不带参数运行它 那就没问题 但是 一旦我尝试使用它抛出的参数执行它 SQL0418N 语句包含使用非类型化参数标记 DEFAULT 关键字或无效的空值 我已阅读错误信息here http
  • WebDeploy API (IIS 7) - “公共 API”:资源?

    有人知道 WebDeploy API 的任何资源吗 有人用过吗 我尝试在官方论坛上询问 并浏览了该网站 该网站说有 公共 API 但没有链接 文章 资源 博客文章或示例 http forums iis net t 1180561 aspx
  • 单击事件不适用于动态添加的 Li->span->id

    单击事件不适用于动态添加的 Li gt span gt id case 101 strLink li a span Form 101 span a li sidebar nav append strLink break sidebar na
  • 如何将文件夹标记为包?

    我曾经认为文件夹需要有扩展名 以便 Finder 将它们识别为包 该扩展将在所属应用程序的 Info plist 中声明 显然还有另一种更优雅的方式 但我不知道它是如何完成的 例如 iPhoto 图库被 Finder 视为一个包 但它没有扩
  • 为什么更喜欢属性而不是公共变量? [复制]

    这个问题在这里已经有答案了 其他能够对 setter 中的值进行健全性检查是否有更根本的原因来选择属性而不是公共变量 我们以前有过这个主题 但现在找不到任何内容 简而言之 您的需求可能会发生变化 如果现在没有健全性检查 将来可能需要进行健全
  • byte[] 数组的长度

    String str 123456789 byte bytes str getBytes 我想进行以下循环 for int j 0 j lt bytes length j b bytes j b将存储数组的每个字节 但我似乎无法正确获取数组
  • GCE 上没有名为“google.cloud._helpers”的模块

    我在导入时遇到错误google cloud bigquery在普通教育考试上 它不会发生在非 GCE 的环境中 我执行了更新pip 你知道为什么吗 user1 sv1 python Python 3 6 0 Continuum Analyt
  • 如何获取 Ruby on Rails 生成的表单元素 id 以供 JavaScript 中参考?

    当使用form for助手和一个text field调用时 Ruby on Rails 会生成一个唯一的 id
  • eslint 解析错误:意外的标记 =

    为什么 eslint 会抛出这个错误 Javascript 在 React Native 中运行没有问题 该代码取自react navigation 示例 https reactnavigation org docs intro https
  • Qt foreach 中的第二项是否只计算一次?

    如果我有这个代码 foreach QListWidgetItem ii selectedItems urls push back ii gt data Qt ToolTip toString Would selectedItems 只被调用
  • Javascript“eval”是同步还是异步?

    考虑以下代码 eval a 5 b 10 eval a b 如果这里第一个 eval 运行很长时间 我的下一个 eval 是否会返回一个错误 指出 a 和 b 未定义 因为 a 和 b 值在第一个 eval 结束时初始化 eval方法是同步
  • 将 ShowCaseView 与 ActionBarCompat / ActionBarSherlock Android 结合使用

    我在用ShowcaseView图书馆来自here https github com Espiandev ShowcaseView在我的安卓应用程序中 我想用ShowcaseView with Actionbar Compat 但我不知道如何