How to start an activity by click of image button of a List view?

浪子不回头ぞ 提交于 2019-12-02 01:24:29

You should pass your context to your custom adapter when you create it:

public class MyAdapter extends BaseAdapter {
    private Context mContext;

    public MyAdapter (Context ctx) {
        mContext = ctx;
    }

    ...
}

And in getView use that context to start the Activity:

 holder.profilePicture.setOnClickListener(new OnClickListener() 
   { 
       public void onClick(View v) 
       {
           Log.d("OnImageButton","Clicked");
           Intent zoom=new Intent(mContext, ImageZoom.class);
           int imageID=holder.profilePicture.getId();
           zoom.putExtra("ImageId", imageID);
           mContext.startActivity(zoom)  ; //This line raises error !      
                       }


   });

When you create the Adapter in your Activity you should pass "this" as a parameter:

 mAdapter = new MyAdapter(this);

have you tried this:

MainActivity.this.startActivity(zoom);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!