2012-01-27 3 views
0

J'ai suivi un tutoriel pour créer une galerie avec une image ci-dessous. Tout ce que je veux faire est de placer la galerie en bas et l'image au dessus, mais quand je les change en XML, cela me donne une ClassCastException.ClassCastException (Gallery + ImageView)

Voici le XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/LinearLayout01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/backrepeat" 
android:orientation="vertical" > 

<ImageView 
    android:id="@+id/ImageView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<Gallery 
    android:id="@+id/gallery" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

</LinearLayout> 

C'est la version non-travail, mais placer la galerie ci-dessus fonctionne ImageView.

De journal:

01-26 22:20:13.673: E/AndroidRuntime(349): Caused by: java.lang.ClassCastException:   android.widget.ImageView 
01-26 22:20:13.673: E/AndroidRuntime(349): at  com.appinfluence.fanapp.v1.Photos.onCreate(Photos.java:36) 

onCreate:

Gallery gallery = (Gallery) findViewById(R.id.gallery); 
    gallery.setAdapter(new ImageAdapter(Photos.this)); 

    imgView = (ImageView)findViewById(R.id.ImageView01); 
    imgView.setImageResource(mImageIds[0]); 


    gallery.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView parent, View v, int position, long id) { 
      imgView.setImageResource(mImageIds[position]); 
     } 
    }); 
} 

Autre code utile:

public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView = new ImageView(mContext); 

     imageView.setImageResource(mImageIds[position]); 
     imageView.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
     imageView.setBackgroundResource(mGalleryItemBackground); 

     return imageView; 
    } 

http://4.bp.blogspot.com/_I2Ctfz7eew4/S_JxIfgKrfI/AAAAAAAAAzA/m1KUSIugojY/s1600/Gallery2.1.PNG

+0

Ouais, je suis également obtenir même problème si ImageView est au-dessus et galerie est ci-dessous. –

+0

Pouvez-vous nous montrer ce morceau de code aussi: com.appinfluence.fanapp.v1.Photos.onCreate (Photos.java:36) –

+0

il est déjà là –

Répondre

0

Hey NickNelson Tout à l'heure j'ai eu la solution à votre problème, juste nettoyez le projet cela fonctionnera.

capture d'écran Exemple

enter image description here

+0

pourquoi y at-il un écart au sommet? –

+0

écart entre ** 4/7 ** et Google image ?? à cause de la hauteur de l'image. –

+0

vérifier maintenant remplacé capture d'écran. –

0

Pas besoin d'utiliserséparé 0 dans la disposition, Galerie affichera les images. Retirez le ImageView et vérifier ..

modifier

juste nettoyer le projet. (Comme yugandhar a dit.)

+0

cela n'a pas de sens parce que j'utilise imageview pour afficher les images dans la galerie quand on clique dessus. J'ai utilisé ce tutoriel: http://saigeethamn.blogspot.com/2010/05/gallery-view-android-developer-tutorial.html –

+0

obtenez-vous des iamges de galerie. –

+0

Oui, je tire des images à partir d'une série de tirages. Cela ressemble à l'image que je suis sur le point d'éditer dans ma question, mais je veux inverser l'ordre de celles-ci. –

0

essayer Veuillez ce XML pour la section de mise en page:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_vertical"> 

    <ImageView android:layout_alignParentTop="true" 
     android:id="@+id/ImageView01" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/antartica1"/> 

    <Gallery 
     android:id="@+id/Gallery01" 
     android:layout_width="fill_parent" 
     android:layout_height="150dp" 
     android:layout_alignParentBottom="true" /> 

</RelativeLayout>