안드로이드 파일저장 리스뷰 클릭해서 불러오기 질문드립니다. 도와주세요


제가 메인액티비티에 edittext와 imageview를 하나두고

edittext에는 텍스트를 입력하고, imageview에는 사진을 넣었습니다.

그리고 저장 버튼을 누르면 sd카드에 입력한 텍스트는 myt 폴더에 .txt파일로

사진은 myi 폴더에 .png 로 현재날짜와시간을 파일명으로 현재날짜.txt , 현재날짜.png로 저장을했습니다.

그리고 리스트뷰액티비티에 가면 현재날짜.txt가 리스트로 불러들여지고 여기서 리스트뷰 아이템을 클릭하면 결과액티비티에 textview와 imageview를 두고 textview에 현재날짜.txt가 불러져서 썼던 텍스트가 보여집니다.

여기까지는 했습니다. 그런데 imageview에 현재날짜.png를 어떻게 불러야 할지 모르겠습니다.

예) 리스트뷰는 2016-10-23 14:23:23.txt

                   2016-10-25 15:30:22.txt

                   2016-10-26 16:34:45.txt 이런식으로 보이고 .png파일은 따로보여지진않지만

같이저장할때 파일명이 현재날짜는 똑같기 때문에 저기서 2016-10-23 14:23:23.txt 클릭했을때

2016-10-23 14:23:23.png가 결과액티비티에 만든 imageview에 들어가게 하고싶습니다.

어떻게 해야되나요? .

  • 2016년 11월 01일에 작성됨

조회수 69


1 답변


파일 경로로부터 이미지를 로드하고, ImageView에 출력하는 기본적인 코드는 다음과 같습니다. 참고하셔서 현재 코드에 맞게 수정해보세요.

File file = new File("/sdcard/Images/test_image.jpg");
if (file.exists()) {
    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
    ImageView imageView = (ImageView) findViewById(R.id.image);
    imageView.setImageBitmap(bitmap);
}

만일 이미지 로더 라이브러리를 사용 중이라면 관련 라이브러리의 예제나 문서를 살펴보시기 바랍니다. 예를 들어 Picasso를 사용 중이라면 다음과 같이 작성할 수 있습니다.

Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView);

  • test_image 부분을 어떻게 바꿔야 할까요? 하나를 지정하면 그것만 뜨기때문에 해당하는걸 눌렀을때 뜨게하고싶은데요.    김기준   2016.11.2 18:25     
  • 리스트 아이템을 클릭하면 해당하는 날짜에 대한 이미지 전체 경로(파일 이름 포함)를 가져와서 new File("/xxxx/xxxxxx/xxxxx/xxxx/2016-10-23 14:23:23.png");과 같은 식으로 처리하면 됩니다. 즉, 리스트 아이템 클릭 시 말씀하신 결과 액티비티쪽 코드에 위 코드를 추가하면 됩니다.    한로니로니   2016.11.2 23:37     
  • 경로를 지정하고 /2016-10-23 14:23:23.png"); 를 쓰면 10월23일 저장한것만 불러오지는데요 만약 날짜가 저기위 3개만 저장한게아니고 백몇개씩 파일이 있다면 일일이 다 지정하지 않고 저장할때는 txt파일만 리스트뷰에 뜨기때문에 txt 아이템을 눌렀을때 같이 저장된 날짜의 png가 불러오는게 목적입니다. 이건 어찌해야하나요?    김기준   2016.11.3 03:02     
  • 제가 질문을 제대로 이해한 것인지 모르겠네요. 일단 제가 이해한 선에서 답변을 다시 하자면 new File("/xxxx/2016-10-23 14:23:23.png")에 넘기는 파일 이름을 동적으로 가져오도록 구현해야 됩니다. (위에서 파일 이름을 명시적으로 작성한 건 이렇게 넣으면 된다.라는 예시일 뿐입니다. 하드코딩하라는 의미가 아닙니다.) 정리하면 리스트 아이템 클릭 시, 해당하는 이미지 파일 이름을 결과 액티비티 쪽으로 넘기도록 구현하면 되고요. 인텐트를 이용해서 다른 액티비티로 데이터를 넘기는 방법(여기서는 이미지 파일 이름)은 다음 글을 참고하세요. http://jizard.tistory.com/10, http://www.leylakapi.com/blog/2014/11/08/how-to-use-getextra-and-putextra-in-android-for-string-data/    한로니로니   2016.11.3 10:12     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close