我做了搜索,但無法在Internet中找到有用的答案。這就是爲什麼我提出這個問題。 我喜歡在自定義ArrayAdapter類的getView
方法中加載相機並捕獲圖像。相機被加載並捕獲圖像,但不會調用onActivityResult()
。我的代碼如下所示。onActivityResult在從ArrayAdapter擴展的類中未調用
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder viewHolder=new ViewHolder();
LayoutInflater inflater = (LayoutInflater) this.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if(vi==null){
vi = inflater.inflate(R.layout.list_row, parent, false);
viewHolder.id=(TextView)vi.findViewById(R.id.title);
viewHolder.thumbnailImage=(ImageView)vi.findViewById(R.id.list_image);
viewHolder.arrow=(ImageView)vi.findViewById(R.id.list_arrow);
vi.setTag(viewHolder);
}
else
viewHolder=(ViewHolder) vi.getTag();
// Setting all values in listview
viewHolder.id.setText(listIDs.get(position));
viewHolder.thumbnailImage.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
((Activity)context).startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
return vi;
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
// Bitmap photo = (Bitmap) data.getExtras().get("data");
// imageView.setImageBitmap(photo);
}
}
然後自定義適配器類是從ListFragment
類激活,
customList_Adaptor adapter = new customList_Adaptor(
getActivity(), R.layout.list_row, listIDs);
如何修改,使onActivityResult()方法被調用。 謝謝
我是Android新手,不清楚您的意思。任何示例程序? – batuman
他想說的是,如果上面顯示的這個類是您的活動之外的額外類,那麼您必須將它集成到您想要捕獲圖像的活動中。這裏有一個簡單的例子:http://devtut.wordpress.com/2011/06/09/custom-arrayadapter-for-a-listview-android/ – Opiatefuchs