J'ai essayé d'obtenir un tas d'images comme une galerie dans mon fragment de l'élément de la barre de navigation. ici le code va comme ça.Comment ajouter des images dans gridview à l'intérieur du fragment de l'élément de la barre de navigation
public class ImageAdapter extends BaseAdapter { private Context context;
public Integer[] images = {
R.drawable.base1, R.drawable.base2,
R.drawable.base3, R.drawable.base2,
R.drawable.base1, R.drawable.base3,
};
public ImageAdapter(Context c) {
context = c;
}
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int position) {
return images(position);
}
private Object images(int position) {
return images(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View ConvertView, ViewGroup parent) {
ImageView imageview = new ImageView(context);
imageview.setImageResource(images[position]);
imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageview.setLayoutParams(new GridView.LayoutParams(240, 240));
return imageview;
}
Et dans l'activité principale j'ai mis cette
GridView gridView = (GridView) findViewById(R.id.gridView);
gridView.setAdapter(new ImageAdapter(this));`
mais chaque fois que je lance mon application i obtenir cette erreur. Voici le logcat
07-20 08: 34: 49,974 4608-4608/com.example.android.navigation D/AndroidRuntime: Arrêt VM 7 au 20 août: 34: 49,975 4608-4608/com .example.android.navigation E/AndroidRuntime: FATAL EXCEPTION: principal Processus: com.example.android.navigation, PID: 4608 java.lang.RuntimeException: Impossible de démarrer l'activité ComponentInfo {com.example.android.navigation/com .example.android.navigation.MainActivity}: java.lang.NullPointerException: Tentative d'invocation de la méthode virtuelle 'void android.widget.GridView.setAdapter (android.widget.ListAdapter)' sur une référence d'objet null at android.app.ActivityThread .performLaunchActivity (ActivitéT hread.java:2416) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) à android.app.ActivityThread.-wrap11 (ActivityThread.java) à android.app.ActivityThread $ H.handleMessage (ActivityThread .java: 1344) à android.os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:148) à android.app.ActivityThread.main (ActivityThread.java : 5417) à java.lang.reflect.Method.invoke (méthode native) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) à co m.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Causé par: java.lang.NullPointerException: Tentative d'invocation de la méthode virtuelle 'void android.widget.GridView.setAdapter (android.widget.ListAdapter)' sur une référence d'objet null à com.example.android.navigation.MainActivity.onCreate (MainActivity.java:32) at android.app.Activity.performCreate (Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2369) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) à android.app.ActivityThr ead.-wrap11 (ActivityThread.java) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) à android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper .loop (Looper.java:148) at android.app.ActivityThread.main (ActivityThread.java:5417) à java.lang.reflect.Method.invoke (méthode native) à com.android.internal.os. ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 616)
Note: Ne pas confondre avec les images R.drawable.base123. Je viens d'écrire 3 pour le rendre court. J'ai mis 20 images sur mon espace de travail.
Selon pour empiler, votre gridview est null. L'avez-vous défini? –
Si je définis gridview dans le fichier XML principal, les images apparaîtront également dans tous les autres éléments de navigation. Je souhaite que des images différentes apparaissent sur différents éléments, en cliquant sur la barre de navigation. –