Hi,

I am trying to create an app with two view classes - portrait and
landscape. I use the portrait view in my layout.xml and use the
landscape in layout.xml under the layout-land folder.

My both view classes (portrait and landscape) are essentially the some
bitmap placement differences. My end goal is - to fetch some pictures
in these classes and manipulate them before displaying. I obviously
don't want to refetch the pictures on orientation change, so would
like to pass bitmaps between these views. Is that possible? Here is my
first iteration of one of these view classes and for now I am just
trying to pass an integer between classes.

My Main Activity is like this:

public class flipperActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState)
    {
        super.onRestoreInstanceState(savedInstanceState);
    }
    protected void onSaveInstanceState(Bundle outState)
    {
        outState.putBoolean("bs", true);
        super.onSaveInstanceState(outState);
    }

And my View class is like this:

public class FlipperVerticalView extends View
{
        String time;
        Paint paint = new Paint();
        private Bitmap[] pictureArray = new Bitmap[5];
        int i = 0;
        boolean forward = true;
        public FlipperVerticalView(Context context, AttributeSet attrs)
        {
                super(context, attrs);

                paint.setColor(Color.BLUE);
                paint.setStyle(Paint.Style.FILL);
                paint.setAntiAlias(true);
                GetPhotoClass getPhotos = new GetPhotoClass();
                pictureArray = getPhotos.GetPhotoArray();
                this.setOnClickListener(new OnClickListener()
                {
                        //change picture index here
                });
        }
        @Override
        protected void onDraw(Canvas canvas)
        {
                super.onDraw(canvas);
                canvas.drawBitmap(pictureArray[i], 20, 20, paint);
        }
        /*******************SaveState********************************/

        @Override
        public Parcelable onSaveInstanceState()
        {
                Parcelable superState = super.onSaveInstanceState();
                SavedState ss = new SavedState(superState);
                ss.stateToSave = this.i;
                return ss;
        }
        @Override
        public void onRestoreInstanceState(Parcelable state)
        {

                SavedState ss = new SavedState(state);
                super.onRestoreInstanceState(ss.getSuperState());

                this.i = ss.stateToSave;
        }
        static class SavedState extends BaseSavedState
        {
                int stateToSave;
                SavedState(Parcelable superState)
                {
                        super(superState);
                }
                private SavedState(Parcel in)
                {
                        super(in);
                        this.stateToSave = in.readInt();
                }
        @Override
        public void writeToParcel(Parcel out, int flags)
        {
                super.writeToParcel(out, flags);
                out.writeInt(this.stateToSave);
        }
        public static final Parcelable.Creator<SavedState> CREATOR =
                new Parcelable.Creator<SavedState>()
                {
                        public SavedState createFromParcel(Parcel in)
                        {
                                return new SavedState(in);
                        }
                        public SavedState[] newArray(int size)
                        {
                                return new SavedState[size];
                        }
                };
        }
        /
*******************EndSaveStateCode***********************************/
}

}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to