单击“相机”按钮刷新EditText字段

时间:2015-01-07 11:21:38

标签: android

我有两个文本字段和一个用于捕获图像的按钮,点击相机按钮它将捕获图像但在文本字段中输入的文本将被刷新, 我有一个方法可以清除文本和图像(来自SD卡)。我在onCreate方法中调用了这个方法。我不想清除那些文本字段到捕获图像,如何处理它?<​​/ p>

以下是我捕获图片的代码:

btnCapture.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            try {

                Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                captureIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivityForResult(captureIntent, CAMERA_CAPTURE);

            } catch (ActivityNotFoundException anfe) {
                String errorMessage = "Device doesn't support capturing images!";

            }

        }

    });

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        // user is returning from capturing an image using the camera
        if (requestCode == CAMERA_CAPTURE) {
            Bundle extras = data.getExtras();
            Bitmap thePic = extras.getParcelable("data");

            DateFormat dateFormat = new SimpleDateFormat("HH-mm-ss");
            Date date = new Date();

            String imgcurTime = dateFormat.format(date);

            File imageDirectory = new File(ImagePath);
            if (!imageDirectory.exists()) {
                imageDirectory.mkdirs();
            }

            String _path = ImagePath + imgcurTime + ".jpg";
            try {
                FileOutputStream out = new FileOutputStream(_path);
                thePic.compress(Bitmap.CompressFormat.JPEG, 100, out);
                out.close();
                out.flush();

            } catch (FileNotFoundException e) {
                e.getMessage();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }
}

1 个答案:

答案 0 :(得分:0)

在内存不足的情况下,android会杀死后台活动。在相机活动开始的情况下,启动相机的后台活动可能正在破坏。当你从相机回来时它会重新创建。因此,在onSavedInstance()方法中保存与它们相同的编辑文本数据,并在onRetoreInstance()方法中重新分配它们。

我希望这可行。