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

커서어댑터 오류 한 번 확인해주세요!!

0 추천
커서어댑터 오류 한 번 확인해주세요!!

안녕하세요. 메인엑티비티에서 기록 버튼 누르면 기록엑티비티 들어가서 기록하고 기록한 내용을 데이터베이스로 저장까지했습니다.

여기까지 문제가 없고 기록하면 리스트뷰에 출력해야하는데 여기서 다시 어플을 실행하면 오류가 뿜으면서 홈화면으로 튕겨지네요.

at com.example.keh_a.dblistview.DBAdapter.<init>(DBAdapter.java:0)
atcom.example.keh_a.dblistview.main.selectDB(main.java:51)
atcom.example.keh_a.dblistview.main.onCreate(main.java:31)

package com.example.keh_a.dblistview;

import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
import android.widget.TextView;

class DBAdapter extends CursorAdapter {

    @SuppressWarnings("deprecation")
    public DBAdapter(Context context, Cursor c) {
        super(context, c);
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {

        TextView title = (TextView) view.findViewById(R.id.text_item_title);
        TextView date = (TextView) view.findViewById(R.id.text_item_date);

        String str_title = cursor.getString(cursor.getColumnIndex("TITLE"));
        String str_date = cursor.getString(cursor. getColumnIndex("DATE"));

        title.setText(str_title);
        date .setText(str_date);
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.item, viewGroup, false);

        return v;
    }
}

이건 커서 어댑터 부분이고

public void selectDB(){
        db = dbHelper.getWritableDatabase();
        sql = "select TITLE, CONTEXT, DATE from " + dbHelper.TABLE_NAME;

        Cursor cursor = db.rawQuery(sql, null);

        if(cursor.getCount() > 0){
            startManagingCursor(cursor);
            dbAdapter = new DBAdapter(this, cursor);
            list.setAdapter(dbAdapter);
        }

        dbAdapter.changeCursor(cursor);
    }

이건 메인엑티비티인데요. 오류부분을 따로 가져왔습니다.
dbAdapter = new DBAdapter(this, cursor); 여기에서 오류가 났습니다.

어떻게 해야 할가요?
성수소년 (550 포인트) 님이 2016년 12월 28일 질문
에러로그를 첨부하는건 기본중에 기본입니다.
에러로그 적어놔있어요.

at com.example.keh_a.dblistview.DBAdapter.<init>(DBAdapter.java:0)
 atcom.example.keh_a.dblistview.main.selectDB(main.java:51)
 atcom.example.keh_a.dblistview.main.onCreate(main.java:31)
stacktrace 말고 오류 메시지가 보고 싶네요.
@성수소년 그건 오류로그가 아니라 발생위치스택이죵 ㅎㅎ
오류메세지 어디서 봐요 ??
위에 올리신 stacktrace 에서 가장 첫줄에 영어로 뭐라뭐라 써있을건데 그걸 말하는겁니다. 아니면 그냥 stacktrace 전문을 다 올려주세요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...