最近,我在一个android项目中遇到了一个神秘的问题,我在这里描述.我以某种方式解决了这个问题,但仍然不知道其背后的确切原因.
假设我想在内部类中调用函数foo().问题是,直接调用它之间的区别是什么
foo();
Run Code Online (Sandbox Code Playgroud)
或者使用外部类实例调用它
OuterClass.this.foo();
Run Code Online (Sandbox Code Playgroud)
此外,如果有人能查看我与此相关的最后一个问题,我将不胜感激,并给我一个关于错误发生原因的线索.非常感谢.
PS:我在某处读到非静态内部类总是持有外部类的实例.所以如果我只使用foo(),它将使用该实例调用外部函数?
我在Android世界中是一个菜鸟,做一个锻炼的宠物项目.这是一个非常简单的类似提醒的应用程序,只有两个活动.一个是定制的ListView显示现有的警报.其中有一些按钮用于启动另一个按钮,用于添加/编辑警报.它中有一个按钮导致之前的ListView活动.
我最近遇到了一个奇怪的情况.我的应用运行正常.但问题是,每当我触发添加/编辑活动,然后返回到ListView,然后重新运行(或者我应该说重新安装?)应用程序.将弹出一条错误消息.但它只会短暂显示,应用程序将启动.
我在日志中收到的错误消息说:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
at android.app.LoadedApk.makeApplication(LoadedApk.java:482)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3909)
at android.app.ActivityThread.access$1300(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1184)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:362)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:305)
at android.app.LoadedApk.makeApplication(LoadedApk.java:474)
... 11 more
Run Code Online (Sandbox Code Playgroud)
它没有明确指出我的代码中的错误.所以我不知道如何纠正它.有没有人遇到类似的问题?任何建议将不胜感激!
以下是添加/编辑活动的代码:
public class EditEntry extends Activity
{
private AutoCompleteTextView foodNameTextView;
private DatePicker datePicker;
// store values in AutoCompleteTextView & DatePicker
private String foodName;
private Calendar foodDate;
@Override
protected …Run Code Online (Sandbox Code Playgroud) 我是iOS开发的新手,在最近几天遇到了这个库连接问题.
我试图在项目中使用GMGridView,但无法使其工作.
这个项目是作为静态库提供的,所以我只需在项目中拖动xcodeproj文件.然后我在Link Binary With Libraries中添加了libGMGridView.a ,在Target Dependencies中添加了GMGridView .我还在标题搜索路径中添加了路径.
但是,当我尝试导入GMGridView.h时,Xcode仍然报告.h文件未找到错误.
有人能帮我一把吗?提前致谢!