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

ListView에 DB내용이 반복해서 뿌려집니다

0 추천

리스트뷰에 나오는 내용들이
엑셀에 10번째 Row 까지만 데이터가 있다치면
그 10번이 계속해서 반복된 것이 출력됩니다..  

1

2

3

4

5

6

7

8

9

10

1

2

3

4

.

.

이런식으로 말이죠ㅜㅜ; 코딩 어딘가를 손봐야할텐데 이것저것 바꿔봐도 안되네요 도와주십시오ㅜ

        copyExcelDataToDatabase();

 

 

Button button01 = (Button) findViewById(R.id.button01);

        button01.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View v) {
                dbAdapter.open();
                Cursor result = dbAdapter.fetchAllNotes();
                result.moveToFirst();
                while (!result.isAfterLast()) {
                  
                String resultStr = "";
                String title = result.getString(1);
                    String body = result.getString(2);
                    String posi = result.getString(3);
                    resultStr += title + ", " + body + "," + posi + "\n";
                    
                    dataArr.add(resultStr); // 엑셀로부터 가져온 문자열을 위에서 선언한 문자 배열 변수 dataArr 에 추가한다.
                                        
                    result.moveToNext();
 
                }
                
                /*TextView textView01 = (TextView) findViewById(R.id.textView01);
                textView01.setText(resultStr);*/
                
                result.close();
                dbAdapter.close();
                
                ArrayAdapter<String> Adapter = new ArrayAdapter<String> (getBaseContext(), 
                android.R.layout.simple_list_item_1, dataArr);
                
               listView01.setAdapter(Adapter);
            }
        });
 
익명사용자 님이 2014년 2월 18일 질문
private void copyExcelDataToDatabase() {
        Log.w("ExcelToDatabase", "copyExcelDataToDatabase()");

        Workbook workbook = null;
        Sheet sheet = null;

        try {
            InputStream is = getBaseContext().getResources().getAssets().open("db001.xls");
            workbook = Workbook.getWorkbook(is);

            if (workbook != null) {
                sheet = workbook.getSheet(0);

                if (sheet != null) {

                 int nMaxColumn = 3;
                    int nRowStartIndex = 0;
                    int nRowEndIndex = sheet.getColumn(nMaxColumn - 1).length - 1;
                    int nColumnStartIndex = 0;
                    int nColumnEndIndex = sheet.getRow(2).length - 1;
                      
                    dbAdapter.open();
                    for (int nRow = nRowStartIndex; nRow <= nRowEndIndex; nRow++) {
                        String title = sheet.getCell(nColumnStartIndex, nRow).getContents();
                        String body = sheet.getCell(nColumnStartIndex + 1, nRow).getContents();
                        String posi = sheet.getCell(nColumnStartIndex + 2, nRow).getContents();
                        dbAdapter.createNote(title, body, posi);
                    }
                    dbAdapter.close();
                } else {
                    System.out.println("Sheet is null!!");
                }
            } else {
                System.out.println("WorkBook is null!!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (workbook != null) {
                workbook.close();
            }
        }
    }

1개의 답변

0 추천
Workbook 객체는 직접 만든 건가요?

해당 객체는 제대로 동작하는건지요?

이 객체가 의도한대로 작동하는지 확인을 하여야 할것 같습니다.
인연 (31,880 포인트) 님이 2014년 2월 19일 답변
...