마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

커서로 얻은 count의 갯수를 UI상으로 표시해줄시 에러가 납니다.

0 추천
스마트폰내의 모든 동영상을 보여주는 예제를 연습중입니다.

분명 cursor.getCount()해서 동영상의 갯수는 잘 불러옵니다. 그런데 TextView에 연결시

android.content.res.Resources$NotFoundException: String resource 에러가 나버리네요.   
 
.
.
.
Cursor cursor;
TextView (텍스트뷰변수);
 
 
private void getVideoCount() {
        String[] proj = {
                MediaStore.Video.Media._ID,
        };
 
        cursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, proj, null, null, null);
        count = cursor.getCount();
       
        Log.e("CCC", "just video counts = " + count); // 로그상에는 문제없이 값을 잘 얻어옵니다.
 
        if (cursor.moveToFirst()) {
            do {
 
                int id = cursor.getColumnIndex(MediaStore.Video.Media._ID);
                int Id = cursor.getInt(id);
 
            } while (cursor.moveToNext());
        }
        cursor.close();
        (텍스트뷰변수).setText(count); //없으면 잘실행됩니다.
 
    }
 
그대로 onCreate에서 사용시에 에러가 발생합니다.
 
Log상에선 값을 제대로 얻어옵니다. 항상 이런식으로 사용해왔고 그때는 텍스트뷰애 연결해도 에러가 전혀 없었는데 갑자기 이러니 당황스럽네요;
 
 
동영상 리스트는 ArrayList와 Adapter로 연결했었는데 ViewHolder사용시에도 에러가 나기에  위처럼 메소드를 따로 구현했습니다.
 
 
CEL (1,140 포인트) 님이 2015년 6월 21일 질문

1개의 답변

0 추천
 
채택된 답변
텍스트뷰 선언하셨나요. findviewById

count 는 int 형으로 선언되있는거 같은데, 단순하게 setText하려면 형변환을 하셔야죠.

Integer.toString(count) 해보세요.
개발자초심 (21,220 포인트) 님이 2015년 6월 21일 답변
CEL님이 2015년 6월 21일 채택됨
이 글을 올리기전에 다양한 시도를 해보았습니다. 형변환은 물론이고 onCreate에서 선언 역시 해놓았습니다. ArrayList에서도 표시가 안되어 따로 메소드를 구현했는데도 역시 안되네요 ;;

+ 추가내용
해결했습니다. 텍스트뷰에 공백을 비롯한 문자열을 포함해주니 제대로 표시됩니다. 왜 이러는지는 잘 모르겠네요...
...