gpt4 book ai didi

java - 我可以在setcontentview android之前以编程方式创建ImageView吗

转载 作者:行者123 更新时间:2023-12-02 12:41:12 24 4
gpt4 key购买 nike

我可以在 android 中的 setContentView(R.layout.activity_main); 之前以编程方式初始化 ImageView 或任何其他 View 吗?

实际上我正在获取自定义类的实例(不是 Activity )全局 onCreate 方法之前像这样

MyInAppPurchaseBilling myInAppPurchaseBilling = new MyInAppPurchaseBilling(MenuClass.this);

在该类构造函数中,我必须使用该上下文来初始化我的首选项类

public MyInAppPurchaseBilling(Activity launcher) {
this.activity = launcher;
tinyDB= new TinyDB(launcher);
}

这是我遇到的错误日志

07-05 17:22:01.852 9660-9660/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.write.urdu.poetry.urdutexteditor, PID: 9660
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.write.urdu.poetry.urdutexteditor/com.write.urdu.poetry.urdutexteditor.MenuClass}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)
at android.app.ActivityThread.access$900(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5551)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.content.ContextWrapper.getPackageName(ContextWrapper.java:133)
at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:375)
at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:370)
at com.write.urdu.poetry.urdutexteditor.TinyDB.<init>(TinyDB.java:55)
at com.write.urdu.poetry.urdutexteditor.inapppurchase.MyInAppPurchaseBilling.<init>(MyInAppPurchaseBilling.java:48)
at com.write.urdu.poetry.urdutexteditor.MenuClass.<init>(MenuClass.java:38)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 
at android.app.ActivityThread.access$900(ActivityThread.java:157) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5551) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 

最佳答案

MyInAppPurchaseBilling 对象是否在执行 MenuClass.this 对象的构造函数时创建?在这种情况下(也许直到在 MenuClass.this 上调用 onCreate() 之前,但我不确定这一点)Activity 对象内的上下文(在本例中为 MenuClass.this)不是尚未设置。

关于java - 我可以在setcontentview android之前以编程方式创建ImageView吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44926370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com