【问题标题】:Android Studio package name not resolved and can't get contextAndroid Studio 包名称未解析且无法获取上下文
【发布时间】:2015-12-30 23:21:34
【问题描述】:

制作了一个应用程序,想显示一个祝酒词,但再次弹出 sh*tty 错误,说不能在空对象引用上调用上下文(是的,它在不同的 void 中,是的,它在 ui 线程上运行)我试过了将 android:name 添加到 androidmanifest 中的应用程序区域(包名称为 noahvt.vremote),vremote 为红色,表示无法解析符号,这真的很奇怪,因为这是正确的名称!

这是我的 android 清单的一部分:

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<application
    android:name="noahvt.vremote" <---- vremote is in red
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar" >

这是我创建的非工作显示吐司空白:

 public void Toasts()
{
    final String RecToast = g.GetToast();

    MainActivity.this.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            final Context context = getApplicationContext();
            Toast.makeText(context , RecToast, Toast.LENGTH_LONG).show();


        }
    });
}

上下文给出了一个空指针异常,这让我认为它与 android:name 有关

顺便说一句,这是堆栈跟踪:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
        at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:106)
        at noahvt.vremote.MainActivity$3.run(MainActivity.java:169)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5289)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)

【问题讨论】:

  • 堆栈跟踪在哪里?
  • 抱歉,刚刚添加了
  • noahvt.vremote 显示为红色,因为您的 vremote 没有扩展应用程序类

标签: java android


【解决方案1】:

希望这个链接可以帮助你Android: Including multiple Java Packages to Manifest

还要检查活动顶部的导入语句。

【讨论】:

  • 上下文不工作怎么样,收到一个空指针,我不知道为什么
  • 问题可能是您的 Activity 尚未完全初始化,这就是 Activity 的内部 Context 为空的原因。
猜你喜欢
  • 2014-02-05
  • 2018-02-21
  • 2014-10-24
  • 2022-01-23
  • 1970-01-01
  • 2022-07-07
  • 2014-10-07
  • 1970-01-01
  • 2021-07-25
相关资源
最近更新 更多