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

DB cursor 질문입니다. + ListView

0 추천

안녕하세요 SQLite cursor 에서 값을 추출하려고 하는데 어떻게 해야 할까요..

//임의로 만든 DatabaseHelper class입니다

public Cursor getListContents(){
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor data = db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
        return data;}

 

ListView listView = (ListView) findViewById(R.id.listView);
DatabaseHelper myDB = new DatabaseHelper(this);

ArrayList<String> thetList = new ArrayList<>();
Cursor data = myDB.getListContents();
EditText editText2 = (EditText) findViewByld(R.id.editText2);

if(data.getCount() == 0){
    Toast.makeText(ViewListActivity.this,"DB 가 비었다",Toast.LENGTH_SHORT).show();
} else{
    while(data.moveToNext()){
        thetList.add(data.getString(1));
        ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,thetList);
        listView.setAdapter(listAdapter);
	//이 부분이 제가 확인하고 싶은 부분인데 오류가 계속 뜨고있습니다..
        editText2.setText(data.getCount());
        editText2.setText(data.getString(1));

    }


}
제발 도와주세요 오류가 뜹니다.
okokokk2 (390 포인트) 님이 2017년 5월 29일 질문
Logcat 의 오류내용을 올려주시면 아마 여기계신분들이 자세히 답변드리는데 도움이 되지 않을까 싶습니다
가장 기본적으로 확인해보아야 할 사항은 올려주신것중
thetList 나 listAdapter 나 listView 나 editText2 들이 NULL 이 아닌지 디버깅해 보는 방법이겠네요

2개의 답변

+1 추천
 
채택된 답변
editText2.setText하실때

인자가 int인경우는 resourceId일때만 해당하는 부분입니다.

아마 Resource Not Found Exception을 보셨을겁니다

data.getCount()를 넣고 싶으시다면 String.valueOf(data.getCount()) 또는 ""+data.getCount() 형태로 바꿔서

넣으시기 바랍니다.

근데 그바로 아래코드에서 다시 덮어쓰네요 -_-; 의미가 있는건지....

안쓰시는거면 그냥 주석 쳐버리세요

 

//editText2.setText(data.getCount());
Charlesz (4,420 포인트) 님이 2017년 6월 1일 답변
okokokk2님이 2017년 8월 23일 채택됨
0 추천
setText 할 시 int 형 그대로 넣으면 안됩니다.

String 타입으로 변환 후 setText에 넣어보세요.
개발자초심 (21,220 포인트) 님이 2017년 6월 5일 답변
...