Привет. Я пытаюсь создать пользовательский вид, который принимает и удаляет картинку и выглядит следующим образом:
Следующие операции, которые может выполнять представление:
- Сделайте снимок (нажав на знак «Нет изображения») - работает
- Удалить картинку (нажав на красный крестик) - работает
- Предварительный просмотр картинки
Как мне создать слушателя, чтобы узнать, когда изображение было снято камерой? Местоположение изображения, которое необходимо сделать, известно ранее.
public class artooPicture extends RelativeLayout {
ImageView preview, delete;
String value = Environment.getExternalStorageDirectory() + "/99006796"
+ "_" + ".jpg", suffix;
boolean clicked = false;
public artooPicture(Context context) {
this(context, null);
}
public artooPicture(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public artooPicture(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
((Activity) getContext()).getLayoutInflater().inflate(R.layout.picture,
this, true);
delete = (ImageView) findViewById(R.id.scan_delete);
preview = (ImageView) findViewById(R.id.scan_preview);
File f = new File(value);
if (f.exists()) {
clicked = true;
preview.setImageDrawable(BitmapDrawable.createFromPath(value));
} else {
}
delete.setOnClickListener(deleteListener);
preview.setOnClickListener(previewListener);
}
View.OnClickListener deleteListener = new OnClickListener() {
@Override
public void onClick(View v) {
if(clicked){
File f = new File(value);
f.delete();
preview.setImageResource(R.drawable.no_image);
}
clicked = false;
}
};
View.OnClickListener previewListener = new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(value)));
getContext().startActivity(i);
}
};
}