1

I want to start camera, onClick event used in item of Listview. but showing The method startActivity(Intent) is undefined for the type new View.OnClickListener(). my Adapter code is here.

public class MessageListAdapter extends ArrayAdapter<RowItem1> {

    Context context;

    public MessageListAdapter(Context context, int resourceId,
            List<RowItem1> items) {
        super(context, resourceId, items);
        this.context = context;
    }

    /*private view holder class*/
    private class ViewHolder {
        ImageView imagep ;
        TextView name;
        TextView date1;
        TextView time;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        RowItem1 rowItem = getItem(position);

        LayoutInflater mInflater = (LayoutInflater) context
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.single_list_message, null);
            ImageView imgcamera= (ImageView) convertView.findViewById(R.id.img_camera);
           imgcamera.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
                    startActivity(intent);
                }
            });

            holder = new ViewHolder();
            holder.name = (TextView) convertView.findViewById(R.id.txt_name);
            holder.date1 = (TextView) convertView.findViewById(R.id.txt_Date);
            holder.time = (TextView) convertView.findViewById(R.id.txt_time);
            holder.imagep = (ImageView) convertView.findViewById(R.id.img_person);
            holder.imagecam = (ImageView) convertView.findViewById(R.id.img_camera);

            convertView.setTag(holder);
        } else
            holder = (ViewHolder) convertView.getTag();

        holder.name.setText(rowItem.getName());
        holder.date1.setText(rowItem.getDate1());
        holder.imagep.setImageResource(rowItem.getImagep());
        holder.imagecam.setImageResource(rowItem.getImagecam());
        holder.time.setText(rowItem.getTime());
        return convertView;
    }    
}
Cœur
  • 37,241
  • 25
  • 195
  • 267
  • this is a syntax error, The method startActivity(Intent) is undefined for the type new View.OnClickListener(). – Fakhre Alam Mar 23 '16 at 06:23
  • got the solution from this link. thanks to PX Developer http://stackoverflow.com/questions/17190268/how-to-start-an-activity-by-click-of-image-button-of-a-list-view – Fakhre Alam Mar 23 '16 at 10:45

3 Answers3

0

I suggest you to move imgcamera.setOnClickListener outside if block.This callback is only running when the convertview is null (the first time only), but it should run each time irrespective of the value of convertview. Hope that helps.

shivtej
  • 633
  • 9
  • 18
0

In the line imgcamera.setOnClickListener(new OnClickListener() { you have not added view.onclickListner. For details on adding onclick listner for imageview have a look at this. How to Set onClicklistener Method of ImageView in Android? imgcamera.setOnClickListener(new View.OnClickListener(){

Community
  • 1
  • 1
user2823297
  • 37
  • 1
  • 6
-1

put context before startActivity context.startActivity