Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

controllo gallery

Discussione in 'Development' iniziata da juan, 2 Ott 2011.

  1. juan

    juan Baby Droid

    Iscritto:
    30 Set 2011
    Messaggi:
    1
    "Mi Piace":
    0
    Salve a tutti, non sono proprio un esperto... Ho un problema con un controllo (avanti/indietro) di una galleria immagini (un adattamento del sample MultiRes di android). Ho aggiunto un pulsante per PREV, ma ho problemi per passare dalla prima all'ultima img (l'app va in crash). Avanti non ho problemi, come pure per passare indietro da altre posizioni che non siano la prima. Suggerimenti? Questo il codice...

    package sj.pics;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;

    public final class sj extends Activity {

    private int mCurrentPhotoIndex = 0;
    private int[] mPhotoIds = new int[] {R.drawable.photo_1, R.drawable.photo_2, R.drawable.photo_3, R.drawable.photo_4, R.drawable.photo_5, R.drawable.photo_6, R.drawable.photo_7, R.drawable.photo_8, R.drawable.photo_9, R.drawable.photo_10};

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    showPhoto(mCurrentPhotoIndex);

    Button nextButton = (Button) findViewById(R.id.next_button);
    nextButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    mCurrentPhotoIndex = (mCurrentPhotoIndex + 1)
    % mPhotoIds.length;
    showPhoto(mCurrentPhotoIndex);
    }
    });

    // Pulsante PREV
    Button prevButton = (Button) findViewById(R.id.prev_button);
    prevButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    mCurrentPhotoIndex = (mCurrentPhotoIndex - 1)
    % mPhotoIds.length;
    showPhoto(mCurrentPhotoIndex);
    //Qui non va...
    if (mCurrentPhotoIndex < 0){
    mCurrentPhotoIndex = mPhotoIds.length - 1;
    showPhoto(mCurrentPhotoIndex);
    }
    }
    });
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
    outState.putInt("photo_index", mCurrentPhotoIndex);
    super.onSaveInstanceState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
    mCurrentPhotoIndex = savedInstanceState.getInt("photo_index");
    showPhoto(mCurrentPhotoIndex);
    super.onRestoreInstanceState(savedInstanceState);
    }

    private void showPhoto(int photoIndex) {
    ImageView imageView = (ImageView) findViewById(R.id.image_view);
    imageView.setImageResource(mPhotoIds[photoIndex]);
    }
    }