작동하지 및 논리 목록보기에서 항목 1에있는 int 데이터베이스 업데이트를 클릭 할 때처럼해야하고 클릭하면 다시 0으로 다시 업데이트 만 0SQLite는 업데이트 목록
listView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView expandableListView,
View view,
int groupPosition,
int childPosition,
long id) {
int num = dbHelper.getActive(child.getTourId(),child.getSiteName());
if (num == 1){
Log.i("database",num+"");
dbHelper.setDeAvtive(child.getSiteName(),child.getTourId());
} else if (num == 0){
Log.i("database",num+"");
dbHelper.setActive(child.getSiteName(),child.getTourId());
}
return true;
}
});
}
로 업데이트의
이것은 내 DB 클래스
활성 클래스
public void setActive(String name,int id){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ChildTour.ACTIVE,1);
db.update(name,values,ChildTour.ACTIVE+"="+id,null);
Log.i("database",id+" Activated");
비활성화 클래스
public void setDeAvtive(String name,int id){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ChildTour.ACTIVE,0);
db.update(name,values,ChildTour.ACTIVE+"="+id,null);
Log.i("database",id+" DeActivated");
getActive 클래스
public int getActive(int tourId,String name) {
SQLiteDatabase db = getReadableDatabase();
int activeCode = 0;
Cursor cursor = null;
try {
cursor = db.rawQuery("SELECT " + ChildTour.ACTIVE + " FROM "
+ name + " WHERE " + ChildTour.TOUR_ID + " = " + tourId, null);
if (cursor.getCount() > 0) {
cursor.moveToFirst();
activeCode= cursor.getInt(cursor.getColumnIndex(ChildTour.ACTIVE));
Log.i("databse", "UpdateCode is: " + updateCode);
}
return activeCode;
} finally {
cursor.close();
}
}
및 클릭이 내 로그인 5 회
12-24 09:32:02.091 5032-5032/app.mma.introsliderproject I/database: 3 Activated
12-24 09:32:02.331 5032-5032/app.mma.introsliderproject I/database: 0
12-24 09:32:02.331 5032-5032/app.mma.introsliderproject I/database: 3 Activated
12-24 09:32:02.571 5032-5032/app.mma.introsliderproject I/database: 0
12-24 09:32:02.571 5032-5032/app.mma.introsliderproject I/database: 3 Activated
12-24 09:32:02.761 5032-5032/app.mma.introsliderproject I/database: 0
12-24 09:32:02.761 5032-5032/app.mma.introsliderproject I/database: 3 Activated
12-24 09:32:02.991 5032-5032/app.mma.introsliderproject I/database: 0
12-24 09:32:02.991 5032-5032/app.mma.introsliderproject I/database: 3 Activated
12-24 09:32:03.171 5032-5032/app.mma.introsliderproject I/database: 0
12-24 09:32:03.171 5032-5032/app.mma.introsliderproject I/database: 3 Activated
update() 메소드의 리턴을 확인하면 영향을받는 행의 수를 반환합니다 – elmorabea
@elmorabea 항상 0을 확인합니다 – Osairon