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

