android上下文空指针异常

标签 android nullpointerexception

我对 android Context 有一个小问题,我不知道如何解决这个问题。这是我正在使用的代码:

public class TestActivity {
Context context;
public static  String getPackageVersion(){  
        try {
            PackageManager pm = context.getPackageManager();
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
            version = packageInfo.versionName;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
        }
        return version;
    }

    public static boolean checkClientApiVer(String clientApiVer){

        int s = RPCCommunicator.strVerToIntVer(clientApiVer);
        int c = RPCCommunicator.strVerToIntVer(getPackageVersion());

        return (c>=s);
    }

     public boolean execute() {

        serverApiVer = jsonObj.getString("server_api_ver");
        Log.w("SERVER API VER","SHOW SERVER API VERSION : "+serverApiVer);

            checkClientApiVer(serverApiVer);
}

它在这一行中显示 Nullpointer 异常:

PackageManager pm = context.getPackageManager();

实际上我无法使用 this.getPackageManager()TestActivity.getPackageManager() 并且我无法将 context 设置为这个

有什么建议吗?

最佳答案

@Roflcoptr 指出了基本的,但实际上,你的类没有扩展 Activity ,所以它不是上下文,将它更改为:

public class TestActivity extends Activity

如果您希望它成为一个实际的 Activity ,或者,如果它应该只是一个辅助类,请在实例化时将 Activity 传递给它。

关于android上下文空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7428799/

相关文章:

java - Android中的映射结构和动态内存分配

java - android 如何查找 View 中定义的元素

scala - org.apache.spark.SparkException : Failed to execute user defined function

java - Android 中的 HashSet 空指针异常但在 java 中没有发生。为什么?

java - Java数组中的某些字段为空,处理这些

android - 如何使所有按钮具有相同的高度(并保持它们的重量)?

android - WebView + ActionBarSherlock = 网站未加载,空白页面,为什么...?

java - 是否有一种规范的方法来确定 HTTP 响应是否在 Java 的 200 系列中?

java - Servet - 为什么我会收到空​​指针异常?

java - 从 arraylist 中删除对象会留下 null