使用ShowCaseView与ActionBarCompat / ActionBarSherlock的Android [英] Use ShowCaseView with ActionBarCompat / ActionBarSherlock Android
本文介绍了使用ShowCaseView与ActionBarCompat / ActionBarSherlock的Android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 ShowcaseView
库从这里在我的Android应用程序。我想用 ShowcaseView
与动作条COMPAT
。但我没有得到如何使用它?我曾尝试以下code,但它抛出 NullPointerException异常
。请帮我解决这个问题。
感谢您。
code:
公共类活性1扩展ActionBarActivity工具
OnShowcaseEventListener { ShowcaseView SV;
ShowcaseView.ConfigOptions合作; @覆盖
保护无效的onCreate(捆绑savedInstanceState){
尝试{
super.onCreate(savedInstanceState);
的setContentView(R.layout.screen1);
合=新ShowcaseView.ConfigOptions();
co.hideOnClickOutside = FALSE;
co.block = FALSE;
}赶上(例外前){
ex.printStackTrace();
}
} @覆盖
公共布尔onCreateOptionsMenu(菜单菜单){ MenuInflater吹气= getMenuInflater();
inflater.inflate(R.menu.main,菜单); ActionViewTarget目标=新ActionViewTarget(这一点,
ActionViewTarget.Type.OVERFLOW);
SV = ShowcaseView.insertShowcaseView(目标,为此,编辑,
点击这里编辑图像。CO);
}
}
错误日志:
11-29 17:12:19.792:E / AndroidRuntime(20991):致命异常:主要
11-29 17:12:19.792:E / AndroidRuntime(20991):显示java.lang.NullPointerException
11-29 17:12:19.792:E / AndroidRuntime(20991):在com.espian.showcaseview.targets.ViewTarget.getPoint(ViewTarget.java:22)
11-29 17:12:19.792:E / AndroidRuntime(20991):在com.espian.showcaseview.targets.ActionViewTarget.getPoint(ActionViewTarget.java:52)
11-29 17:12:19.792:E / AndroidRuntime(20991):在com.espian.showcaseview.ShowcaseView $ 3.run(ShowcaseView.java:240)
11-29 17:12:19.792:E / AndroidRuntime(20991):在android.os.Handler.handleCallback(Handler.java:725)
11-29 17:12:19.792:E / AndroidRuntime(20991):在android.os.Handler.dispatchMessage(Handler.java:92)
11-29 17:12:19.792:E / AndroidRuntime(20991):在android.os.Looper.loop(Looper.java:137)
11-29 17:12:19.792:E / AndroidRuntime(20991):在android.app.ActivityThread.main(ActivityThread.java:5283)
11-29 17:12:19.792:E / AndroidRuntime(20991):在java.lang.reflect.Method.invokeNative(本机方法)
11-29 17:12:19.792:E / AndroidRuntime(20991):在java.lang.reflect.Method.invoke(Method.java:511)
11-29 17:12:19.792:E / AndroidRuntime(20991):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1102)
11-29 17:12:19.792:E / AndroidRuntime(20991):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
11-29 17:12:19.792:E / AndroidRuntime(20991):在dalvik.system.NativeStart.main(本机方法)
解决方案
我解决了issue.Replace $ C $ OnCreateOptionsMenu()
的c。与以下code
code:
@覆盖
公共布尔onCreateOptionsMenu(菜单菜单){ MenuInflater吹气= getMenuInflater();
inflater.inflate(R.menu.main,菜单); SV = ShowcaseView.insertShowcaseViewWithType(ShowcaseView.ITEM_ACTION_ITEM,
R.id.action_edit,FaceFrameActivity_dual.this,编辑,
点击这里编辑图像。CO);
}
I am using ShowcaseView
library from here in my android application. I want use ShowcaseView
with Actionbar Compat
. But i am not getting how to use it? I have tried following code but it throws NullPointerexception
. Please help me solve this issue.
Thank you.
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);
}
}
Error log:
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)
解决方案
I solved that issue.Replace code of OnCreateOptionsMenu()
with following code.
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);
}
这篇关于使用ShowCaseView与ActionBarCompat / ActionBarSherlock的Android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文