【发布时间】:2016-03-23 05:39:11
【问题描述】:
我想启动相机,在 Listview 项目中使用的 onClick 事件。但显示方法 startActivity(Intent) 未定义新 View.OnClickListener() 类型。我的适配器代码在这里。
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;
}
}
【问题讨论】:
-
这是一个语法错误,方法 startActivity(Intent) 未定义为 new View.OnClickListener() 类型。
-
从此链接获得了解决方案。感谢 PX 开发人员stackoverflow.com/questions/17190268/…