헬퍼부분
public class DataManager {
private Context context = null;
private SubjectListDBHelper dbHelper = null;
ArrayList<MyItem> slist = null;
public DataManager(Context context) {
this.context = context;
dbHelper = new SubjectListDBHelper(this.context);
}
// DB에서 정보를 읽어와 하나의 레코드를 하나의 객체로 생성하여 리스트에 저장후 반환
public ArrayList<MyItem> getsubjectList() {
slist = new ArrayList<MyItem>();
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "select * from subjectlist2";
Cursor cursor = db.rawQuery(sql, null);
while(cursor.moveToNext()) {
int no = cursor.getInt(0);
int image = cursor.getInt(1);
String pro_name = cursor.getString(2);
String pro_phone = cursor.getString(3);
String subject = cursor.getString(4);
String subject_memo = cursor.getString(5);
// DB에서 읽어온 레코드의 값으로 새로운 자료 저장 객체 생성
MyItem item = new MyItem(no, image, pro_name, pro_phone, subject, subject_memo);
// 리스트에 저장
slist.add(item);
Toast.makeText(context, "S", Toast.LENGTH_SHORT).show();
}
cursor.close();
dbHelper.close();
return slist;
}
커스텀어댑터 갯뷰 부분
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if (convertView == null) {
convertView = inflater.inflate(layout, parent, false);
}
ImageView img = (ImageView)convertView.findViewById(R.id.image);
img.setImageResource(items.get(position).getImage());
// 교수님 이름 개별 설정
TextView pro_name =(TextView)convertView.findViewById(R.id.pro_name);
pro_name.setText(items.get(position).getPro_name());
// 교수님 과목 개별 설정
TextView subject =(TextView)convertView.findViewById(R.id.subject);
subject.setText(items.get(position).getSubject());
return convertView;
}
디비에 저장된 리스트 불러오기 부분
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subjectlist_layout);
dataManager = new DataManager(this);
subList = (ListView)findViewById(R.id.listview1);
// 레이아웃 리스트 가져오기
subjectList = dataManager.getsubjectList();
// 어레이리스트, 데이터베이스에 저장된 내용 가져오기
adapter = new MyAdapter(this, android.R.layout.simple_list_item_1, subjectList);
// 어댑터 연결. 데이터는 디비에서 가져온 데이터로 연결
subList.setAdapter(adapter);
// 어댑터 시작
}
}
저는 제코드가 틀린게 없는 것 같아 보이는데....
돌리면 바로 튕기네요.. .. 리스트뷰가 없어요
로그캣을 보면 갯뷰에서 set하는 부분들이 전부 널포인터라고 합니다 ㅜㅠㅜ
뭐가문제일까죠 ㅠㅠㅠ