Have your BaseAdapter hold onto the Activity, supplied via a
constructor parameter. Then, call findViewById() on it.

On Mon, Jun 27, 2011 at 12:16 AM, Kivak <[email protected]> wrote:
> Hello everyone!
>
> I am a pretty recent beginner to the android SDK and Java in general.
> I've had experience in OOP programming, but most of my programming has
> been in PHP and SQL - quite a bit different from Java as far as I can
> tell.
>
> My question pertains to the use of the Gallery wigit. I was able to
> look up a couple tutorials on how to use the wigit and add photos into
> it using an ImageAdapter (class extending the BaseAdapter) - even make
> them full screen. But what I want to do is to add some text to the
> screen as well which will change based on the photo that is there. For
> example: the name of the photo itself.
>
> My line of thinking was that I could use the "getView()" function in
> the ImageAdapter class because it is called every time you scroll to
> another image. But I cannot use "findViewById()" in the ImageAdapter
> class (I assume because it extends BaseAdapter and not Activity).
>
> Can anyone at least point me in the right direction of how to solve
> this?
>
> Thanks so much for your time and help!!
> -Kivak
>
>
>
> Code is as follows:
>
> Wallpapers Class (the class called as intent)
> --------------------------------------------------------------------
>
> import android.app.Activity;
> import android.os.Bundle;
> import android.widget.Gallery;
>
> public class Wallpapers extends Activity {
>        public void onCreate(Bundle savedInstanceState) {
>        super.onCreate(savedInstanceState);
>
>        setContentView(R.layout.wallpapers);
>
>        ((Gallery) findViewById(R.id.gallery)).setAdapter(new
> WallpaperImageAdapter(this));
>    }
> }
>
>
>
> ImageAdapter Class
> ---------------------------------------------------------------------
>
> import android.content.Context;
> import android.view.View;
> import android.view.ViewGroup;
> import android.widget.BaseAdapter;
> import android.widget.Gallery;
> import android.widget.ImageView;
> import android.widget.Gallery.LayoutParams;
>
> public class WallpaperImageAdapter extends BaseAdapter {
>
>        /** The parent context */
>        private Context myContext;
>
>        /**
>         * All images to be displayed. Put some images to project-folder:
>         * '/res/drawable/uvw.xyz' .
>         */
>        private int[] myImageIds = { R.drawable.wallpaper_1,
>                        R.drawable.wallpaper_2, R.drawable.wallpaper_3,
>                        R.drawable.wallpaper_4 };
>
>        /** Simple Constructor saving the 'parent' context. */
>        public WallpaperImageAdapter(Context c) {
>                this.myContext = c;
>        }
>
>        /** Returns the amount of images we have defined. */
>        public int getCount() {
>                return this.myImageIds.length;
>        }
>
>        /* Use the array-Positions as unique IDs */
>        public Object getItem(int position) {
>                return position;
>        }
>
>        public long getItemId(int position) {
>                return position;
>        }
>
>        /**
>         * Returns a new ImageView to be displayed, depending on the position
>         * passed.
>         */
>        public View getView(int position, View convertView, ViewGroup parent)
> {
>                ImageView i = new ImageView(this.myContext);
>
>                i.setImageResource(this.myImageIds[position]);
>                /* Image should be scaled as width/height are set. */
>                i.setScaleType(ImageView.ScaleType.FIT_CENTER);
>                /* Set the Width/Height of the ImageView. */
>                i.setLayoutParams(new
> Gallery.LayoutParams(LayoutParams.MATCH_PARENT,
> LayoutParams.MATCH_PARENT));
>                return i;
>        }
>
>
> }
>
>
>
>
> Wallpaper.xml
> ---------------------------------------------------------------
>
> <?xml version="1.0" encoding="utf-8"?>
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
> android"
>   android:orientation="vertical"
>   android:layout_width="fill_parent"
>   android:layout_height="fill_parent" >
> <Gallery android:id="@+id/gallery"
>       android:layout_width="fill_parent"
>       android:layout_height="fill_parent"
>       android:gravity="fill_horizontal" />
> </LinearLayout>
>
> --
> 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
>



-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy

Android Training in NYC: http://marakana.com/training/android/

-- 
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