我有一个应用程序,它包含一个活动和一个用于实现listview的适配器类。 现在在listview中,当我点击列表视图时,我需要使用intent从设备打开图库。 但问题是当我从适配器类调用intent时,如何编写onActivityResult()。这是我的代码`
public class VehicleAdapter extends BaseAdapter
{
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder holder;
if(convertView==null)
{
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.list_item, null);
holder.image = (ImageView) convertView.findViewById(R.id.imageView);
holder.txtName = (TextView) convertView.findViewById(R.id.textView);
holder.btn = (Button) convertView.findViewById(R.id.button);
holder.row = (RelativeLayout) convertView.findViewById(R.id.lineItem);
convertView.setTag(holder);
}
else
holder=(ViewHolder)convertView.getTag();
holder.image.setImageBitmap(getImageId().get(position));
holder.txtName.setText(arr_calllog_name.get(position));
holder.btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 0);
//arr_cars.remove(position);
myadapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "You have deleted row No. "+ position, Toast.LENGTH_SHORT).show();
}
});`
答案 0 :(得分:0)
您应该在活动中而不是在适配器中设置列表视图单击处理程序,将信息存储在项目的标记中,然后在列表中单击某个项目时,您将能够访问该信息并接收onActivityResult事件。