logs:
Thread [<1> main] (Suspended (exception NullPointerException))
HelloGridView$1.onItemClick(AdapterView, View, int, long) line: 38
GridView(AdapterView).performItemClick(View, int, long) line: 284
AbsListView$PerformClick.run() line: 1696
ViewRoot(Handler).handleCallback(Message) line: 587
ViewRoot(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int,
boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
On Apr 1, 1:54 pm, Kostya Vasilyev <[email protected]> wrote:
> Logcat output?
> 01.04.2011 12:04 пользователь "mack2978" <[email protected]> написал:
>
>
>
> > Hi All,
>
> > I am trying to show full image when clicking on one of the thumbnail
> > of grid view, i am able to view the grid with thumbnails but as soon
> > as i click on any thumbnail to show it in full screen, handling
> > onItemClick(), it crashes. below is my complete code, please help
>
> > package com.example.HelloGridView;
>
> > import android.app.Activity;
> > import android.os.Bundle;
> > import android.content.Context;
> > import android.content.res.Resources;
> > import android.graphics.Bitmap;
> > import android.graphics.Canvas;
> > import android.graphics.Paint;
> > import android.graphics.drawable.Drawable;
> > import android.util.AttributeSet;
> > import android.view.View;
> > import android.view.ViewGroup;
> > import android.widget.AdapterView;
> > import android.widget.AdapterView.OnItemClickListener;
> > import android.widget.BaseAdapter;
> > import android.widget.GridView;
> > import android.widget.ImageView;
> > import android.widget.Toast;
>
> > public class HelloGridView extends Activity{
> > int current_pos;
> > private Bitmap[] mTileArray;
> > private MyView myView;
> > /** Called when the activity is first created. */
> > @Override
> > public void onCreate(Bundle savedInstanceState) {
> > super.onCreate(savedInstanceState);
> > setContentView(R.layout.main);
> > GridView gridview = (GridView) findViewById(R.id.gridview);
> > gridview.setAdapter(new ImageAdapter(this));
> > gridview.setOnItemClickListener(new OnItemClickListener() {
> > public void onItemClick(AdapterView<?> parent, View v, int
> > position, long id)
> > {
> > Toast.makeText(HelloGridView.this, "" + position,
> > Toast.LENGTH_SHORT).show();
> > current_pos = position;
> > myView.invalidate();
> > }
> > });
>
> > }
>
> > public class ImageAdapter extends BaseAdapter {
> > private Context mContext;
>
> > public ImageAdapter(Context c) {
> > mContext = c;
> > }
>
> > public int getCount() {
> > return mThumbIds.length;
> > }
>
> > public Object getItem(int position) {
> > return null;
> > }
>
> > public long getItemId(int position) {
> > return 0;
> > }
>
> > // create a new ImageView for each item referenced by the
> > Adapter
> > public View getView(int position, View convertView, ViewGroup
> > parent) {
> > ImageView imageView;
> > if (convertView == null) { // if it's not recycled,
> > initialize some attributes
> > imageView = new ImageView(mContext);
> > imageView.setLayoutParams(new
> > GridView.LayoutParams(85, 85));
>
> > imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
> > imageView.setPadding(8, 8, 8, 8);
> > } else {
> > imageView = (ImageView) convertView;
> > }
>
> > imageView.setImageResource(mThumbIds[position]);
> > return imageView;
> > }
>
> > // references to our images
> > private Integer[] mThumbIds = {
> > R.drawable.sample_0, R.drawable.sample_1,
> > R.drawable.sample_2, R.drawable.sample_0
> > };
> > }
>
> > public class MyView extends View {
>
> > private Bitmap[] mTileArray;
> > private final Paint mPaint = new Paint();
>
> > public MyView(Context context, AttributeSet attrs, int
> > defStyle) {
> > super(context, attrs, defStyle);
>
> > //TypedArray a = context.obtainStyledAttributes(attrs,
> > R.styleable.TileView);
> > // mTileSize = a.getInt(R.styleable.TileView_tileSize, 12);
> > //a.recycle();
> > Resources r = this.getContext().getResources();
> > loadTile(0,
> > r.getDrawable(R.drawable.sample_0));
> > loadTile(1, r.getDrawable(R.drawable.sample_1));
> > loadTile(2, r.getDrawable(R.drawable.sample_2));
> > loadTile(3, r.getDrawable(R.drawable.sample_0));
> > }
>
> > public MyView(Context context, AttributeSet attrs) {
> > super(context, attrs);
>
> > Resources r = this.getContext().getResources();
> > loadTile(0,
> > r.getDrawable(R.drawable.sample_0));
> > loadTile(1, r.getDrawable(R.drawable.sample_1));
> > loadTile(2, r.getDrawable(R.drawable.sample_2));
> > loadTile(3, r.getDrawable(R.drawable.sample_0));
> > }
>
> > public void loadTile(int key, Drawable tile) {
> > Bitmap bitmap = Bitmap.createBitmap(191, 285,
> > Bitmap.Config.ARGB_8888);
> > Canvas canvas = new Canvas(bitmap);
> > tile.setBounds(0, 0, 191, 285);
> > tile.draw(canvas);
> > mTileArray[key] = bitmap;
> > }
>
> > @Override
> > public void onDraw(Canvas canvas) {
> > super.onDraw(canvas);
> > canvas.drawBitmap(mTileArray[1], 0,0, mPaint);
>
> > }
>
> > }
>
> > }
>
> > --
> > 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- Hide quoted text -
>
> - Show quoted text -
--
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