J'utilise le téléchargement partitionné pour le téléchargement d'images dans le formulaire de soumission de requête. Dans mon cas, le téléchargement d'image est facultatif, donc quand je n'utilise pas l'image jette un pointeur nul besoin donc je devrait être facultatifjava.lang.NullPointerException: uri at com.android.internal.util.Preconditions.checkNotNull
public String getPath(Uri uri) {
Cursor cursor = AskQueryActivity.this.getContentResolver().query(uri, null, null, null, null); // this line throws error
assert cursor != null;
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
cursor.close();
cursor = AskQueryActivity.this.getContentResolver().query(
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
assert cursor != null;
cursor.moveToFirst();
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
return path;
}
erreur logcat
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.admin.lorem.ipsum, PID: 3818
java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
at android.content.ContentResolver.query(ContentResolver.java:474)
at android.content.ContentResolver.query(ContentResolver.java:434)
il est assez évident que votre uri est nul, déboguez votre application et voyez pourquoi. –
@ S.Aslpour oui C'est nul comme je l'ai dit nul quand je n'utilise pas l'image upload – Omi
alors ajoutez un if et vérifiez quand c'est nul, définissez votre curseur null: | –