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