-1
Je veux sélectionner un contact et afficher le numéro en tant que message Toast avec le paramètre onActivityResult. Mon problème est après que j'ai choisi un contact et que je veux afficher le nombre mon programme se bloque.Message Toast dans un ContentResolver
Voici le code:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_CONTACT) {
if (resultCode == RESULT_OK) {
Uri contactUri = data.getData();
String[] projection = { Phone.NUMBER };
Cursor cursor = getContentResolver().query(contactUri,
projection, null, null, null);
cursor.moveToFirst();
int column = cursor.getColumnIndex(Phone.NUMBER);
String number = cursor.getString(column);
// Should Display the number as Toast
Toast.makeText(null, number, Toast.LENGTH_SHORT).show();
}
}
}
et StackTrace
05-20 16:48:31.990: E/AndroidRuntime(9222): FATAL EXCEPTION: main
05-20 16:48:31.990: E/AndroidRuntime(9222): Process: com.alphabuddy.test, PID: 9222
05-20 16:48:31.990: E/AndroidRuntime(9222): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content: (has extras) }} to activity {com.alphabuddy.test/com.alphabuddy.test.Satabase}: java.lang.NullPointerException
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.app.ActivityThread.deliverResults(ActivityThread.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.app.ActivityThread.handleSendResult(ActivityThread.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.app.ActivityThread.access$1300(ActivityThread.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.os.Handler.dispatchMessage(Handler.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.os.Looper.loop(Looper.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.app.ActivityThread.main(ActivityThread.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at java.lang.reflect.Method.invokeNative(Native Method)
05-20 16:48:31.990: E/AndroidRuntime(9222): at java.lang.reflect.Method.invoke(Method.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at dalvik.system.NativeStart.main(Native Method)
05-20 16:48:31.990: E/AndroidRuntime(9222): Caused by: java.lang.NullPointerException
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.widget.Toast.<init>(Toast.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.widget.Toast.makeText(Toast.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): at com.alphabuddy.test.Satabase.onActivityResult(Satabase.java:72)
05-20 16:48:31.990: E/AndroidRuntime(9222): at android.app.Activity.dispatchActivityResult(Activity.java)
05-20 16:48:31.990: E/AndroidRuntime(9222): ... 12 more
si y Vous ne postez pas une trace de pile. Comment vous attendez-vous à l'aide? – tyczj