Add NotifyDataSetChangedMethod() method just before setting the
content of image adapter.

On Apr 4, 1:52 am, Pinkesh Gupta <[email protected]> wrote:
> hi
>
> i am new to android
>
> i am implementing  a gallery from  the imageurl  that
>
> i have obtained after parsing the .net web service using soap
>
> the code which i had implement is as follows:
>
> package com.WikiFun;
>
> import java.io.InputStream;
> import java.net.URL;
> import com.WikiFun.AddPicture.ImageAdapter.placeDetailHolder;
> import android.app.Activity;
> import android.content.Context;
> import android.content.Intent;
> import android.content.res.TypedArray;
> import android.graphics.drawable.Drawable;
> import android.os.Bundle;
> import android.view.ContextMenu;
> import android.view.ContextMenu.ContextMenuInfo;
> import android.view.MenuItem;
> import android.view.View;
> import android.view.ViewGroup;
> import android.view.View.OnClickListener;
> import android.widget.AdapterView;
> import android.widget.AdapterView.AdapterContextMenuInfo;
> import android.widget.AdapterView.OnItemClickListener;
> import android.widget.BaseAdapter;
> import android.widget.Button;
> import android.widget.Gallery;
> import android.widget.ImageView;
> import android.widget.Toast;
>
> public class AddPicture extends Activity implements OnClickListener
> {
>
>         Button bacbtn;
>         String Article_intro;
>         Gallery gallaery;
>         GetFunspotPicturesResponse [] gec;
>         placeDetailHolder plh;
>         ImageView imageView;
>
>         @Override
>         protected void onCreate(Bundle savedInstanceState)
>         {
>                 super.onCreate(savedInstanceState);
>                 setContentView(R.layout.funspotcategorylist1);
>
>                 //ListView list1 = (ListView)findViewById(R.id.ListView01);
>                 bacbtn =(Button)findViewById(R.id.view1_backbtn);
>                 gallaery=(Gallery)findViewById(R.id.gallery1);
>                 bacbtn.setOnClickListener(this);
>                 Intent i = getIntent();
>                 int Articleid = i.getIntExtra("articleid", -1);
>                 Article_intro = i.getStringExtra("article_intro");
>                 ServiceCaller ser = new ServiceCaller();
>                 if(DataContainer.firstList1 ==null)
>             {
>             DataContainer.firstList1 = ser.getpicture(Articleid);
>             }
>
>                 gec = DataContainer.firstList1;
>                 gallaery.setAdapter(new ImageAdapter(this, gec));
>
>                 gallaery.setOnItemClickListener(new OnItemClickListener()
>                 {
>                         public void onItemClick(AdapterView<?> parent, View 
> v, int
> position, long id)
>                         {
>
>                                 System.out.println("fsdfsd");
>                                 //plh.imageView.setImageResource();
>                         ;}
>
>       });
>                 //gallaery.setAdapter(new ImageAdapter(this, gec));
>
>     }
>
>     @Override
>     public void onCreateContextMenu(ContextMenu menu, View v,
> ContextMenuInfo menuInfo) {
>         menu.add(R.string.hello);
>     }
>
>     @Override
>     public boolean onContextItemSelected(MenuItem item)
>     {
>         AdapterContextMenuInfo info = (AdapterContextMenuInfo)
> item.getMenuInfo();
>         Toast.makeText(this, "Longpress: " + info.position,
> Toast.LENGTH_SHORT).show();
>         return true;
>     }
>
>         @Override
>         public void onClick(View v)
>         {
>                 Intent i = new Intent(this,FunSpotDetail.class);
>                 this.startActivity(i);
>
>         }
>
> public class ImageAdapter extends BaseAdapter
>         {
>             private static final int ITEM_WIDTH = 136;
>             private static final int ITEM_HEIGHT =88;
>
>             int mGalleryItemBackground;
>             Context mContext;
>
>             GetFunspotPicturesResponse[] mImageIds;
>             private final float mDensity;
>             public String[] stringArray1;
>
>             public ImageAdapter(Context c,GetFunspotPicturesResponse[] gec)
>             {
>                 mImageIds=gec;
>                 mContext = c;
>
>                 TypedArray a =
> obtainStyledAttributes(R.styleable.GalleryTheme);
>                 mGalleryItemBackground =
> a.getResourceId(R.styleable.GalleryTheme_android_galleryItemBackground,
> 0 );
>                 a.recycle();
>
>                 mDensity = c.getResources().getDisplayMetrics().density;
>             }
>
>             public int getCount()
>             {
>                 return mImageIds.length;
>             }
>
>             public Object getItem(int position)
>             {
>                 return position;
>             }
>
>             public long getItemId(int position)
>             {
>                 return position;
>             }
>
>             public View getView(int position, View convertView, ViewGroup
> parent)
>             {
>
>                         GetFunspotPicturesResponse gc = 
> this.mImageIds[position];
>
>                         if(convertView==null)
>                         {
>                                 plh = new placeDetailHolder();
>                                 convertView = new ImageView(mContext);
>                                 plh.imageView = (ImageView) convertView;
>                                 
> plh.imageView.setScaleType(ImageView.ScaleType.FIT_XY);
>                     plh.imageView.setLayoutParams(new Gallery.LayoutParams(
>                             (int) (ITEM_WIDTH * mDensity + 0.5f),
>                             (int) (ITEM_HEIGHT * mDensity + 0.5f)));
>
>                                 convertView.setTag(plh);
>
>                                 
> plh.imageView.setBackgroundResource(mGalleryItemBackground);
>                         }else{
>                                 plh = (placeDetailHolder)convertView.getTag();
>                         }
>
>                         String imgURL = 
> DataContainer.ImgBaseURL+"upload/"+gc.getImgName();
>
>                         try{
>                                 Drawable drw = 
> LoadImageFromWebOperations(imgURL);
>                                 plh.imageView.setImageDrawable(drw);
>                                 }catch(Exception e)
>                                 {
>                                         e.toString();
>                                 }
>                         convertView.setClickable(true);
>
>                         return convertView;
>                 }
>                 public class placeDetailHolder
>                 {
>                         ImageView imageView;
>
>                 }
>                 public  Drawable LoadImageFromWebOperations(String url)
>             {
>                         try
>                         {
>                                 InputStream is = (InputStream) new 
> URL(url).getContent();
>                                 Drawable d = Drawable.createFromStream(is, 
> "src name");
>                                 return d;
>                         }catch (Exception e) {
>                                 System.out.println("Exc="+e);
>                                 return null;
>                         }
>
>             }
>         }
>
> }
>
> so the problem is that how i could implement changes in my image
> adapter so that
>
> i get a gallery and  even it shows images in a gallery
>
> but not in the proper format
>
> i even need to implement an on click listener on the gallery item
> obtained as in a gallery sample example
>
> please help me in resolving this problem.
>
> regards
> Pinkesh gupta

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