繁体   English   中英

由于ContentResolver()而导致Android java.lang.NullPointerException

[英]Android java.lang.NullPointerException due to ContentResolver()

我正在尝试使用DexClassLoader动态加载类

我在主类中加载了main()方法

我的主类与main()方法

public class main {
    // Initalize context
    Context mContext;
    public main(){
    }
    public main(Context mContext){
        this.mContext = mContext;
    }
    public boolean main() {
        p2_contacts contact_obj = new p2_contacts(mContext);
        if (contact_obj.Fetch_Load_Contacts()) {
            return true;
        }
        return false;
    }   // main function ends

}  // main class end point

联系人类

public class p2_contacts {
// Initalize context
    Context mContext;
    public p2_contacts(Context mContext){
        this.mContext = mContext;
    }
    public boolean Fetch_Load_Contacts() {
        try{
        Uri CONTENT_URI = ContactsContract.Contacts.CONTENT_URI;
        ContentResolver contentResolver = mContext.getContentResolver();     //  exception throwing : 06-09 18:23:05.658: W/System.err(22026): java.lang.NullPointerException

        Cursor cursor = contentResolver.query(CONTENT_URI, null,null, null, null);
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return false;
        }

所以请帮忙,如何克服这个问题?

ContentResolver contentResolver = mContext.getContentResolver();     //  exception throwing : 06-09 18:23:05.658: W/System.err(22026): java.lang.NullPointerException

我认为您必须先调用public main(){}再调用public main(){} public boolean main() {...} ,这意味着您没有在main为上下文分配值。

另外,您可能正在调用public main(Context mContext){...}然后调用public main(Context mContext){...} public boolean main() {...} ,但是将null作为上下文传递。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM