我正在尝试使用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
答案 0 :(得分:0)
我认为您必须先调用public main(){}
,然后调用public boolean main() {...}
,这意味着您没有为main
中的上下文分配值。
或者,您可能正在调用public main(Context mContext){...}
后跟public boolean main() {...}
,但是将null作为上下文传递。